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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
1-16343
denis24
2004-01-24 13:16
2004.02.06
ф-ция pos


3-16061
voimix
2004-01-12 12:37
2004.02.06
Размер заголовка у поля OLE в Access2000


4-16795
A.M.D.F.
2003-11-29 18:14
2004.02.06
Недра NTFS


3-16051
Goida
2004-01-12 17:52
2004.02.06
Ускорение запросов к БД


1-16437
C@N
2004-01-18 12:53
2004.02.06
Замена/расширение возможности стандартных инищек