Советы по Delphi

       

Кнопка заголовка активного окна


Вы должны сами рисовать кнопку и обрабатывать ее перерисовку для показа вдавленного состояния. Затем, для активизации кнопки, вам необходимо реагировать на сообщение WM_NCHITTEST. Вот пример кода, рисующего безобразный зеленый контур вокруг красного прямоугольника около системного меню:

procedure TForm1.WMNCPaint(VAR Msg: TWMNCPaint);
VAR R: TRect;
BEGIN
Inherited
;Canvas.Handle := GetWindowDC(Handle);R := Bounds(GetSystemMetrics(SM_CXFRAME) +GetSystemMetrics(SM_CXSIZE) + 1,GetSystemMetrics(SM_CYFRAME),GetSystemMetrics(SM_CXSIZE),GetSystemMetrics(SM_CYSIZE));WITH Canvas DOBEGINBrush.Color := clRed;Pen.Color := clLime;Rectangle(R.Left, R.Top, R.Right, R.Bottom);END;ReleaseDC(Handle, Canvas.Handle);END;
[000557]



Содержание раздела