![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Static
MJH © (2002-08-19 06:31:00)Возможно ли окно класса сабж сделать прозрацным?
Т.е. как правильно прикрутить кисть?
Или никак и рисовать только вручную?
Ученик (2002-08-19 10:37:00) [1]procedure TForm1.WMCtlColorStatic(var Message : TWMCtlColorStatic);
begin
if Message.ChildWnd = FStaticHandle then begin
SetBkMode(Message.ChildDC, TRANSPARENT);
Message.Result := GetStockObject(NULL_BRUSH)
end else
inherited
end;
MJH (2002-08-19 10:27:00) [2]а теперь перефоазирую в более понятную форму:
Как на винапи, привязать кисть, созданную по CreateBrushIndirect к окну класса STATIC, созданному по CreateWindow("STATIC",***) ?
а флаг WS_EX_TRANSPARENT никакого эффекта не дает...
Ученик (2002-08-19 09:22:00) [3]как то это неправильно :)
procedure WMCtlColorStatic(var Message : TWMCtlColorStatic); message WM_CTLCOLORSTATIC;
procedure TForm1.FormShow(Sender: TObject);
begin
SetWindowLong(StaticText1.Handle, GWL_EXSTYLE,
GetWindowLong(StaticText1.Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT);
StaticText1.Brush.Style := bsClear
end;
procedure TForm1.WMCtlColorStatic(var Message : TWMCtlColorStatic);
begin
if Message.ChildWnd = StaticText1.Handle then
SetBkMode(Message.ChildDC, TRANSPARENT);
inherited
end;