如何捕捉控件上的鼠标左键双击事件?(50分)

L

laoli

Unregistered / Unconfirmed
GUEST, unregistred user!
如何捕捉控件上的鼠标左键双击事件?
 
重载其wndproc方法,在其中处理.
 
to windbell
请附实现的代码!!11
 
看看SpeedButton的源码
procedure WMLButtonDblClk(var Message: TWMLButtonDown); message WM_LBUTTONDBLCLK;
 
其实你搜一下WindowProc就能找到了。
unit Unit1;

interface

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

type
TForm1 = class(TForm)
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
OldWinProc: TWndMethod;
procedure NewProc(var Message: TMessage);
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.NewProc(var Message: TMessage);
begin
case Message.Msg of
WM_LBUTTONDBLCLK: ShowMessage('hello, boy');

end; //end of case
OldWinProc(Message);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
OldWinProc := ListBox1.WindowProc;
ListBox1.WindowProc := NewProc;
end;

end.
 
接受答案了.
 
顶部