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

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

Смена цвета окна [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.


Наверх

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