Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Вниз

Новые компоненты в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.033 c
3-1078405804
balabolkin
2004-03-04 16:10
2004.04.04
Properties FILTER to TDBF


14-1078675942
Натуся
2004-03-07 19:12
2004.04.04
Проблемы с Linux


7-1074018687
Freaky
2004-01-13 21:31
2004.04.04
Изменение системного времени


1-1079538178
neteditor_2000
2004-03-17 18:42
2004.04.04
TListBox.AddItem и его параметры


1-1079077976
Fame
2004-03-12 10:52
2004.04.04
Вывод строк БЕЗ незначащих пробелов.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский