Вниз
Скачать: CL | DM;

Хук не работает, подскажите в чем дело ...   Найти похожие ветки 

← →
TBase_Tree   (2008-06-05 14:40) [0]

unit uLogin;

interface

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

type
 TfrmLogin = class(TForm)
   Panel1: TPanel;
   GroupBox1: TGroupBox;
   Memo1: TMemo;
   GroupBox2: TGroupBox;
   Label1: TLabel;
   Label2: TLabel;
   edPassword: TEdit;
   edLogin: TEdit;
   Button1: TButton;
   Button2: TButton;
   SpeedButton1: TSpeedButton;
   procedure Hook(var Mes:TMessage); message WM_INPUTLANGCHANGEREQUEST;
 private
    //
 public

 end;

var
   frmLogin: TfrmLogin;

implementation

{$R *.dfm}

// Не срабатывает этот Хук, подскажите пожалуйста в чем дело ??? :(

procedure TfrmLogin.Hook(var Mes: TMessage);
begin
 ShowMessage("Hook");
end;

end.


← →
Игорь Шевченко ©   (2008-06-05 14:45) [1]

Сообщение форме не приходит, поэтому и не работает. А вот через Application.OnMessage вполне его можно поймать


← →
Palladin ©   (2008-06-05 14:46) [2]

Видимо потому что этот "хук" посылается главному окну приложения, а не какой либо форме конкретно.


← →
TBase_Tree   (2008-06-05 14:53) [3]


> Видимо потому что этот "хук" посылается главному окну приложения,
>  а не какой либо форме конкретно.


Точно. Убрал все компоненты из формы, хук отработал. :( Что делать?

> Application.OnMessage

Где можно прочесть инфу или есть примеры? плз.


← →
Palladin ©   (2008-06-05 14:55) [4]

TApplicationEvents + F1


← →
Vlad Oshin ©   (2008-06-05 16:03) [5]

а можно по msg.message получить что-то типа "WM_..."


← →
Vlad Oshin ©   (2008-06-05 16:03) [6]

Удалено модератором


← →
Vlad Oshin ©   (2008-06-05 16:03) [7]

Удалено модератором


← →
Игорь Шевченко ©   (2008-06-05 16:05) [8]


> а можно по msg.message получить что-то типа "WM_..."


Можно. Путем написания функции


← →
TBase_Tree   (2008-06-06 08:27) [9]


> а можно по msg.message получить что-то типа "WM_..."


Я это сделал так:

procedure TfrmLogin.Hook(var Msg: TMsg; var Handled: Boolean);
begin
if Msg.Message = WM_INPUTLANGCHANGEREQUEST then
   ..................
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
2-1213013711
sydenis
2008-06-09 16:15
2008.07.06
как узнать сообщение


2-1212830940
Инна
2008-06-07 13:29
2008.07.06
по нажатию кнопки на хтмл-странице нужно закрыть ее и отобразить


3-1201432819
Квэнди
2008-01-27 14:20
2008.07.06
Rename table в хранимой процедуре


3-1201682750
Tack
2008-01-30 11:45
2008.07.06
Прогресс выборки TADOQuery нерегулярный


6-1189925255
Cardinalius
2007-09-16 10:47
2008.07.06
Не возникает Disconnect




   Наверх