![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать компонент 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;