Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.17.174.239] |
|
Сообщ.
#1
,
|
|
|
А как быть, если я хочу полностью самостоятельно отрисовать tabset (или другой компонент), т.е. проще говоря поменять стандартный дизайн windows на свой, включая не только цвета, но и форму (стандартная трапецевидная, а мне допустим нужна овальная)?
|
Сообщ.
#2
,
|
|
|
А все на самом деле очень легко. Открываешь исходники стандартных компонентов и на их основе пишешь свои собственные.
|
Сообщ.
#3
,
|
|
|
Хм, ясно. Не так уж и легко, если сталкиваешься с этим впервые. Как сделать компонент на основе существующего я знаю, как переоределить его методы тоже. Но мне не хотелось бы переопределять метод Paint, я пока еще слабо разбираюсь, что там понаписано. Лучшим вариантом было бы изменять исходник родного компонента и смотреть, что из этого получилось. Но как скомпилировать измененный исходник того же tabs.pas, а то простое изменение его не дает эффекта на компоненте?
|
Сообщ.
#4
,
|
|
|
Ты конечно извини, но если ты задаёшь такие вопросы, тебе лучше пока повременить написание своих компонентов.
|
Сообщ.
#5
,
|
|
|
Ну почему же? Я чувствую, что я готов к этому. Ведь я разбираюсь во всяких там published protected, знаю что и как там написать, скомпилить.
Ты тоже извини, не в обиду, но мне нужен конкретный совет или solution, а не педагогические рекомендации. Неужели такая проблема скомпилировать tabs.pas заново? |
Сообщ.
#6
,
|
|
|
Нужно позарез...
|
Сообщ.
#7
,
|
|
|
Создавай свой package или используй dclusr, копируй туда исходники компонента, меняй их, меняй название и устанавливай как новый компонент.
|
Сообщ.
#8
,
|
|
|
для переопределения вида используй Paint и, если хочешь изменить форму компонента (имеющего оконный дескриптор, т.е. Handle: HWND), юзай SetWindowRgn
|
Сообщ.
#9
,
|
|
|
Да ну его, этот setrgn, он же только уменьшить площадь может. В моем случае самому придется рисовать. Кстати, добрые люди подсказали самое простое решение: Нужно исходник кинуть в директорию проекта. И все. Даже не нужно компонент создавать.
|
Сообщ.
#10
,
|
|
|
ну, дык, видишь, как все просто
|
Сообщ.
#11
,
|
|
|
Цитата Мыш, 13.03.03, 19:50:18 ;DКстати, добрые люди подсказали самое простое решение: Нужно исходник кинуть в директорию проекта. И все. Даже не нужно компонент создавать. А, собственно, что означает "создать компонент"? Имхо, написать код. А вставлять его в пакет или на вкладку компонентов - твое дело. (я так не делаю) |
Сообщ.
#12
,
|
|
|
Ну, для меня создать компонент это запариться совсем, назначить всякие ужасные конструкторы и прочие протектеты, скомпилить все это дело... А так кидаешь нужный пас в директорию проекта, и прям там правишь (точнее кривишь) все что хош.
|