Главная страница
    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.032 c
7-1074159901
Vyacheslav
2004-01-15 12:45
2004.04.04
Отключить, поменять в эксплорере прокси


1-1079674479
эд
2004-03-19 08:34
2004.04.04
как колонку stringgrid сделать невидимой?


11-1058185200
Sagrer
2003-07-14 16:20
2004.04.04
Проблема с размером окна в XP.


1-1078826340
Джек
2004-03-09 12:59
2004.04.04
Параллельная работа двух задач


6-1074786599
VAN
2004-01-22 18:49
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский