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

Обработка cm_mouseleave в ядре   Найти похожие ветки 

 
Mihey ©   (2004-01-24 00:29) [0]

Использую код по этому примеру:

unit Unit1;

interface

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

type TForm1 = class(TForm)
Button1: TButton;
Panel1: TPanel;
procedure FormCreate(Sender: TObject);
private { Private declarations }
FPanel1WndProc: procedure (var Message: TMessage) of object;
public { Public declarations }
procedure Panel1WndProc(var Message: TMessage);
end;

var Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Panel1WndProc(var Message: TMessage);
begin
FPanel1WndProc(Message);
case Message.Msg of
CM_MOUSELEAVE: begin
if Message.LParam = integer(Button1) then
ShowMessage("By-by, mouse");
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FPanel1WndProc:=Panel1.WindowProc; Panel1.WindowProc:=Panel1WndProc;
end;

end.

В результате при выходы мыши с контрола получаю кучу окошек. Наверное, сообщение надо уничтожать. Что делать?


 
kull ©   (2004-01-24 01:40) [1]

Обязательно сообщение выводить? Или вместо него должен быть другой код, а ShowMessage - для примера?


 
Mihey ©   (2004-01-24 23:24) [2]

В принципе, необязательно. Я хотел вставить довольно медленный код (перерисовка контрола), но как бы можно и обойтись. Но всё же, можно ли что-нибудь сделать?


 
Mihey ©   (2004-01-26 00:26) [3]

Алё! Up!


 
Сергей Чурсин ©   (2004-01-26 02:17) [4]

Для чего вообще городить оконную процедуру...
http://deeco.h1.ru/cgi-bin/file8.php?text=2

Обработка же, по-моему, должна выглядеть так (для класса) :

case Message.Msg of
WM_LBUTTONDOWN: begin
XM:=Message.LParamLo;
YM:=Message.LParamHi;
////////////..
end;

WM_LBUTTONDBLCLK: begin
XM:=Message.LParamLo;
YM:=Message.LParamHi;
////////////..
end;

// И в конце!
else inherited WndProc(Message);

end;



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

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



Память: 0.46 MB
Время: 0.02 c
1-16451
Кен
2004-01-28 04:14
2004.02.06
Как правильно обрабатывать ошибки в математических выражениях ?


1-16311
Lisa
2004-01-25 16:44
2004.02.06
TDBNavigator


14-16592
Лев
2004-01-15 15:41
2004.02.06
Помогите плиз, проблема с сетью.


3-16030
Volodya_
2004-01-16 17:06
2004.02.06
Буфер


3-16077
Леонид
2004-01-10 01:41
2004.02.06
Поиск одинаковых фрагментов текста в БД




   Наверх