Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.06;
Скачать: 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 вся ветка

Текущий архив: 2008.07.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
2-1213002154
yury
2008-06-09 13:02
2008.07.06
io error 103 при компиляции


2-1212920874
ply
2008-06-08 14:27
2008.07.06
где в БД хранить картинки?


8-1164287214
Змей
2006-11-23 16:06
2008.07.06
общение по микрофону через сеть


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


2-1212771815
DJ_UZer
2008-06-06 21:03
2008.07.06
MRU