Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Новые компоненты в Delphi   Найти похожие ветки 

 
Skif   (2004-03-12 18:11) [0]

Я хочу создать свой компонет, например от TButton, но со своей прорисовкой и главное двухмерный.
Как мне это сделать, с чего начать..?


 
TransparentGhost   (2004-03-12 18:12) [1]

Vzjat" knizhku i prochitat"...na prostom urovne pochti v kazhdoj knige jest".


 
TransparentGhost   (2004-03-12 18:15) [2]

Ili v Source\Vcl\stdctrls.pas zagljani i posmotri kak sam TButton sdelan


 
TUser ©   (2004-03-12 20:30) [3]

TSuperPuperButton = class(TButton)
ну и т.д.

Надо будет переписать метод ответственный за прорисовку, его надо подсмотреть в исходниках.

PS. А стандартный TButton - он скольки мерный?


 
Mim   (2004-03-12 20:50) [4]

TUser ©   (12.03.04 20:30) [3]
Налчие тени говорит о трехмерности кнопки

Skif   (12.03.04 18:11)
TPanel впролне выступать в роли двухмерной кнопки


 
Sentinel ©   (2004-03-12 21:01) [5]


> Mim   (12.03.04 20:50) [4]

Налчие тени говорит об иллюзии трехмерности кнопки


 
TUser ©   (2004-03-12 21:04) [6]

Расположение кнопки на экрене говорит о двухмерности кнопки. Расположение оной на клавиатуре говорит о ее трехмерности, но такую кнопку нельзя отнаследовать от TButton. И вообще в Delphi ее создать нельзя - по крайне мере в 7й версии. Про D8.NET не знаю - может там и можно.


 
Юрий Зотов ©   (2004-03-12 21:18) [7]

> Skif   (12.03.04 18:11)  

> Я хочу создать свой компонет, например от TButton, но со своей
> прорисовкой

Собственно, Вы сами ответили на свой вопрос - нужно выбрать предка, отнаследоваться от него и изменить его прорисовку. Как именно можно ее изменить - зависит от самого предка.

Если это потомок TGraphicControl или TCustomControl, то достаточно заместить метод Paint. Если же это TWinControl, но не TCustomControl, то в общем случае контрол должен обрабатывать сообщения WM_PAINT, WM_ERASEBKGND и WM_NCPAINT.

У некоторых стандартных контролов Windows (в том числи, у кнопки) можно выставить стиль, указывающий на то, что его прорисовку программа берет на себя (для кнопки это стиль BS_OWNERDRAW), а далее в оконной прцедуре родительского окна обрабатывать сообщения WM_MEASUREITEM и WM_DRAWITEM.



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
4-1075366573
barby
2004-01-29 11:56
2004.04.04
Удаление непустой директории


4-1075466636
stepan_mk
2004-01-30 15:43
2004.04.04
Робота с DLL


1-1079265878
kat
2004-03-14 15:04
2004.04.04
Как заменить иконку в откомпилиной проге?


14-1078921496
Marina_S
2004-03-10 15:24
2004.04.04
МНК - где найти?


4-1074679500
Sergey SP
2004-01-21 13:05
2004.04.04
Вставить текст в контрол