Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как управлять прорисовкой кнопки? [D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


boband ©   (2004-07-13 00:41:00) 

Здраствуйте!
Суть в следующем:
Создал своего наследника от TButton, изменил c помощью SetWindowRgn ее форму. Работает... Теперь внутренности кнопки надо прорисовывать, а код:
...
procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
...
procedure TMyBtnClass.WMPaint(var Message: TWMPaint);
var
 DC: HDC;
 PS: TPaintStruct;
begin
 inherited;
 DC := BeginPaint(Handle, PS);
 MoveToEx(DC,2,2,nil);
 LineTo(DC,Width,Height);
 EndPaint(Handle, PS);
end;
Почему не рисует ничего :-(
Может я чего не так делаю? Подскажите плиз.

Заранее спасибо.


boband   (2004-07-13 19:55:00) [1]

Спасибо. Теперь все работает!!!


MBo   (2004-07-13 08:12:00) [2]

хм...  пред. ответ со страницы форума не видно ;)


MBo   (2004-07-13 08:00:00) [3]

При создании кнопки в стиль должно быть включено BS_OWNERDRAW.
Понадобится обработка сообщений CN_MEASUREITEM и CN_DRAWITEM.
Для примера посмотри исходники TBitBtn.


Наверх

Титульная страница Поиск, карта сайта Написать письмо