码迷,mamicode.com
首页 > 其他好文 > 详细

怎样使单击事件变为双击事件(50分)

时间:2019-01-06 01:05:55      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:ted   RoCE   send   ESS   idc   protected   key   style   cte   

即单击时并不产生单击事件,而双击时产生单击事件,这样不能在
双击事件里调用单击事件,因单击事件优先于双击事件。


拦截单击的消息,改发双击的消息


能否举个例子!以DBgridclick()为例


TForm1 = class(TForm)
procedure FormClick(Sender: TObject);
procedure FormDblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Flag: Boolean;
end;

var
Form1: TForm1;
implementation
{$R *.DFM}
{ TForm1 }
procedure TForm1.FormClick(Sender: TObject);
begin
if Flag then
begin
ShowMessage (You click me!);
Flag := False;
end;
end;

procedure TForm1.FormDblClick(Sender: TObject);
begin
Flag := True;
FormClick(Self);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Flag := False;
end;
拦截消息
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,MaxDirFile;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
protected
procedure WL(var Message:TWMLBUTTONDOWN);message WM_LBUTTONDOWN;
procedure WDL(var Message:TWMLBUTTONDBLCLK);message WM_LBUTTONDBLCLK;
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
MaxDirFile.GetAppDir
end;

procedure TForm1.WDL(var Message: TWMLBUTTONDBLCLK);
begin
Showmessage(ddd);
Message.Result:=0;
end;

procedure TForm1.WL(var Message: TWMLBUTTONDOWN);
Var
Pos:Integer;
Key:integer;
begin
Pos:=(Message.YPos shl 16)+Message.XPos;
Key:=Message.Keys;
SendMessage(handle,WM_LBUTTONDBLCLK,Key,Pos);
Message.Result:=-1;
end;

end.

呵呵,还有一招……

比如按钮的单击事件,你可以设置一个布尔量 B:=false;
每次 click 时先判断 B=true 再执行你的事件,然后改变 B一次。
这样一来就用两个单击代替了双击,如果效果不好就结合时间……


 

不如是整型,每CLICK一下加一,加到2时用DBCLICK,然后清0,。。。

怎样使单击事件变为双击事件(50分)

标签:ted   RoCE   send   ESS   idc   protected   key   style   cte   

原文地址:https://www.cnblogs.com/jijm123/p/10226894.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!