Delphi World - Кнопка заголовка активного окна
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Кнопка заголовка активного окна

Вы должны сами рисовать кнопку и обрабатывать ее перерисовку для показа вдавленного состояния. Затем, для активизации кнопки, вам необходимо реагировать на сообщение 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 do
  begin
    Brush.Color := clRed;
    Pen.Color := clLime;
    Rectangle(R.Left, R.Top, R.Right, R.Bottom);
  end;
  ReleaseDC(Handle, Canvas.Handle);
end;

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования