Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как перехватить события в неклиентской области формы, в заголовке окна, например?

Вопрос:

Как перехватить события в неклиентской области формы, в заголовке окна, например?

Ответ:

Создайте обработчик одного из сообщений WM_NC (non client - не клиентских) (посмотрите WM_NC в Windows API help). Пример показывает как перехватить вижение мыши во всей неклиенстской области окна (рамка и заголовок).

Пример:

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.

[ Назад ] [ Оглавление ] [ Далее ]

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог