Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-1079287845
Луарвик
2004-03-14 21:10
2004.04.04
Web Broker


14-1079007332
Voland2000
2004-03-11 15:15
2004.04.04
База фильмов


1-1079689256
eXtreme
2004-03-19 12:40
2004.04.04
Перенаправление текста из консоли в Memo


8-1070302395
DeScriptor
2003-12-01 21:13
2004.04.04
Разрешение файла AVI


4-1074893998
Raki
2004-01-24 00:39
2004.04.04
Имя процесса




   Наверх