![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]а что говорит?