![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Смена цвета окна [D6, NT4]
Леприкон © (2003-12-05 09:08:00)
Как сменить цвет у окна?
Пытаюсь продвигаться в сторону
//newBrush:HBRUSH;
newBrush:=CreateSolidBrush(RGB(100,0,200));
SetClassLong(Handle,GCL_HBRBACKGROUND,newBrush);
UpdateWindow(Handle);
но ничего не получается.
MBo (2003-12-05 10:14:00) [1]
program Simple;
uses
Windows, Messages;
function AWndProc (Window: HWND; Message, WParam, LParam: DWord): Integer; stdcall;
var
ps : PAINTSTRUCT;
DC : HDC;
r : TRect;
begin
case Message of
WM_DESTROY:
begin
PostQuitMessage (0);
Result := 0;
Exit;
end;
WM_PAINT:
begin
dc := BeginPaint (Window, ps);
SetBKMode(dc,TRANSPARENT);
TextOut(DC, 10, 10, "Is it green?", 12);
EndPaint (Window, ps);
end;
end;
Result := DefWindowProc (Window, Message, WParam, LParam);
end;
var
WC : WNDCLASS;
H : HWND;
M : MSG;
begin
WC.hInstance := HInstance;
WC.hIcon := 0;
//WC.hbrBackground:=GetStockObject(LTGRAY_BRUSH);
WC.lpfnWndProc := @AWndProc;
WC.lpszClassName := "AClass";
RegisterClass(WC);
H := CreateWindowEx (0, "AClass", "Simple", WS_OVERLAPPEDWINDOW, Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT),
Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT), 0, 0, HInstance, nil);
////////////
SetClassLong(H,GCL_HBRBACKGROUND,CreateSolidBrush(RGB(0,100,0)));
ShowWindow (H, SW_SHOWNORMAL);
while GetMessage(M, 0, 0, 0) do begin
TranslateMessage (M);
DispatchMessage(M);
end;
end.