Главная страница
    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.03 c
6-1075207849
Chris
2004-01-27 15:50
2004.04.04
Пользователь на удаленном компьютере


1-1079477283
яяяя
2004-03-17 01:48
2004.04.04
Как освободить память после SetLength


4-1075281288
DENGER
2004-01-28 12:14
2004.04.04
имя com интерфейса...


1-1078931380
Серёга
2004-03-10 18:09
2004.04.04
Ошибка в "клавиатурном шпионе"


6-1075125258
nesovsemlamer
2004-01-26 16:54
2004.04.04
Передача изображения рабочего стола по протоколу TCP





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский