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

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

Как сделать компонент TCheckBox прозрачным?


V.Turecky ©   (2002-07-30 19:24:00) 

Добрый вечер!

Как сделать компонент TCheckBox прозрачным? А то он у меня на изображении находится и, когда пользователь меняет схему оформления Windows"а, например на "Баклажан", то всё очень некрасиво. Жду Ваших идей.


Eugene Lachinov   (2002-07-30 22:17:00) [1]

Честно говоря не понял, почему WM_CTLCOLORSTATIC (думал, что должно быть WM_CTLCOLORBTN), но вроде работает

procedure TForm1.WMCtlColorStatic(var Message : TWMCtlColorStatic);
begin
if Message.ChildWnd = CheckBox1.Handle then begin
SetTextColor(Message.ChildDC, CheckBox1.Font.Color);
SetBkMode(Message.ChildDC, TRANSPARENT);
Message.Result := GetStockObject(NULL_BRUSH)
end else
inherited;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
SetWindowLong(CheckBox1.Handle, GWL_EXSTYLE,
GetWindowLong(CheckBox1.Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT)
end;


Наверх

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