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

Создайте обработчик одного из сообщений WM_NC


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
  private
    {Private declarations}
    procedure WMNCMOUSEMOVE(var message: TMessage); message WM_NCMOUSEMOVE;
  public
    {Public declarations}
end;

var
  Form1: TForm1;

implementation
{$R *.DFM}

procedure TForm1.WMNCMOUSEMOVE(var message: TMessage);
var
  s: string;
begin
  case message.wParam of
    HTERROR: s:= 'HTERROR';
    HTTRANSPARENT: s:= 'HTTRANSPARENT';
    HTNOWHERE: s:= 'HTNOWHERE';
    HTCLIENT: s:= 'HTCLIENT';
    HTCAPTION: s:= 'HTCAPTION';
    HTSYSMENU: s:= 'HTSYSMENU';
    HTSIZE: s:= 'HTSIZE';
    HTMENU: s:= 'HTMENU';
    HTHSCROLL: s:= 'HTHSCROLL';
    HTVSCROLL: s:= 'HTVSCROLL';
    HTMINBUTTON: s:= 'HTMINBUTTON';
    HTMAXBUTTON: s:= 'HTMAXBUTTON';
    HTLEFT: s:= 'HTLEFT';
    HTRIGHT: s:= 'HTRIGHT';
    HTTOP: s := 'HTTOP';
    HTTOPLEFT: s:= 'HTTOPLEFT';
    HTTOPRIGHT: s:= 'HTTOPRIGHT';
    HTBOTTOM: s:= 'HTBOTTOM';
    HTBOTTOMLEFT: s:= 'HTBOTTOMLEFT';
    HTBOTTOMRIGHT: s:= 'HTBOTTOMRIGHT';
    HTBORDER: s:= 'HTBORDER';
    HTOBJECT: s:= 'HTOBJECT';
    HTCLOSE: s:= 'HTCLOSE';
    HTHELP: s:= 'HTHELP';
    else
      s:= '';
  end;
  Form1.Caption := s;
  message.Result := 0;
end;

end.

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