怎么响应事件?(100分)

L

lmtfw

Unregistered / Unconfirmed
GUEST, unregistred user!
我想自定义一个从TBUTTON继承下来的控件TMYBUTTON,并定义一个鼠标双击的事件DBLCLICK
应该对各位不是太难吧。谁能个给代码。谢谢。
 
覆盖TButton.DBLCLICK方法,具体叫什么名字记不清了,查源程序。
TMYButton=Class(TButton)
..
PROTECT
procedure dblclick(..);override;
END;

procedure TMYButton.dblclick;
begin
inherited; // option
...
end;
 
to :ning_ning
tbutton没有DBLCLICK事件,不能覆盖吧?
 
自己搞定了,用WINDOWS消息。
unit Button1;

interface

uses
Windows, Messages, SysUtils, Classes, Controls, StdCtrls;

type
TButton1 = class(TButton)
private
fondblclick:tnotifyevent;//WM_LBUTTONDBLCLK;
procedure wml(var msg:twmrbuttondblclk); message WM_rBUTTONDBLCLK;
{ Private declarations }
protected

{ Protected declarations }
public
{ Public declarations }
published
property ondbclick:tnotifyevent read fondblclick write fondblclick ; //WM_LBUTTONDBLCLK ;
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('Samples', [TButton1]);
end;
{ TButton1 }
procedure TButton1.wml(var msg: twmrbuttondblclk);
begin
inherited;
if assigned(fondblclick) then fondblclick(self);
end;

end.
 
不大完全理解。
可以在create事件中写下:
dbclick:=你想要的事件。
 
to dedema
我在TBUTTON中找不到ONDBCLICK事件,所以就定义了这个控件。你有什么好的想法?
 
lmtfw的很标准!
 
不错,不错
 
来者有分
 
顶部