Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

KeyUp & WindowProc [D6, WinXP]


webpauk ©   (2007-06-12 12:03:00) 

переопределить Form1.windowProc надо именно так:

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   procedure FormCreate(Sender: TObject);
 private
 protected
   procedure  NewFormWndPrc(var  Msg: TMessage);
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 OldFormWndPrc: TWndMethod;
 
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 OldFormWndPrc:=TForm(Edit1.Owner).WindowProc;
 TForm(Edit1.Owner).WindowProc:=NewFormWndPrc;
end;

procedure  TForm1.NewFormWndPrc(var  Msg: TMessage);
begin
 case msg.Msg of
   WM_KEYUP:
   begin
     ShowMessage('KeyUp');
   end;
 end;

 OldFormWndPrc(Msg);
end;

end.


не работает. в чем ошибка?


webpauk   (2007-06-12 12:48:00) [1]

Form.KeyPreview:=True


Правильный Вася   (2007-06-12 12:42:00) [2]

Form.KeyPreview
?


webpauk   (2007-06-12 12:23:00) [3]

собственно говоря проблема в том, что Edit1 имеет фокус и сообщение наверно посылается editу
если сделать вместо edit scrollbox - проблем нету


Правильный Вася   (2007-06-12 12:14:00) [4]

а что говорит?


Наверх

Титульная страница Поиск, карта сайта Написать письмо