Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.18;
Скачать: CL | DM;

Вниз

Закрасить кнопку, (также вопрос к Ю.ЗОТОВУ)   Найти похожие ветки 

 
Dimaond Cat ©   (2001-12-18 01:25) [0]

Создаю кнопку от Tbutton. Хочу сделать ее допустим черного цвета,
b:=Tbutton.Create(self);
with b do
begin
visible:=false;
ParentWindow:=Panel1.Handle;
cursor:=crSizeNS;
b.OnMouseMove:=butmov;
Fillrect(getdc(b.handle),b.ClientRect,7);
fillrect помогает только сначала далее при ее перекрывании другим окном или при ее нажатии она меняет цвет на некий стандартный. Как сделать эту заразу постоянно черной

И к Юрию Зотову, Юрий я посеял твой адрес, и это меня очень удручает, черкни пару слов


 
Mbo ©   (2001-12-18 06:59) [1]

так кнопка -наследник от tbutton или все-таки tbutton?
если наследник, в методе Paint закрашивай.


 
Юрий Зотов ©   (2001-12-18 15:02) [2]

Черкну. А по сабжу, есс-но, надо WM_PAINT и/или WM_ERASEBACKGND обрабатывать. А если цвет не должен меняться, то еще проще - в стилях окна прописать черную кисть.

И еще. Fillrect(getdc(b.handle)...) - это плохо. Кто потом этот DC освобождать будет? И как? Хэндла-то уже нет, он же не был запомнен. Вот и идет утечка ресурсов.


 
nikkie ©   (2001-12-18 19:16) [3]

мне кажется для изменения внешнего вида кнопки правильнее использовать стиль BS_OWNERDRAW и рисовать в ответ на сообщение WM_DRAWITEM


 
Dimaond Cat ©   (2001-12-19 00:41) [4]

Всем спасибо, помогло исправление стиля окна. обработка сообщений типа wm_paint дает некий результат но с некоторыми ошибками.



Страницы: 1 вся ветка

Текущий архив: 2002.02.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
14-57194
RaZEr
2001-12-27 06:35
2002.02.18
Автозапуск ! где ?


14-57199
Knight
2001-12-28 11:58
2002.02.18
Всех с праздниками, вопросик несколько хакерский но просто срочно понадобилось!!!


3-57037
Malyatkoya
2002-01-21 21:46
2002.02.18
IBQuery + Edit


7-57232
Zevsus
2001-11-13 00:28
2002.02.18
Запускаем процесс, идем его завершения или сворачивания и обрабатываем сие событие..


3-56982
Rex
2002-01-23 11:12
2002.02.18
Мне необходимо получить значение из поля, которое формируется при помощи генератора и триггера