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

  • 主题发起人 主题发起人 laoli
  • 开始时间 开始时间
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.
 
接受答案了.
 

Similar threads

S
回复
0
查看
828
SUNSTONE的Delphi笔记
S
S
回复
0
查看
760
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
987
import
I
后退
顶部