在button控件上添加一个OnDblClick事件,不知如何做?

zhbruce 2003-05-13 09:47:30
窗体上有一个button控件:button1.现在我想到button上添加一个OnDblClick事件.是不是要重新编写一个自定义继承button类的控件?请尽量写详细一些!谢谢
...全文
51 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cslegend 2003-05-13
  • 打赏
  • 举报
回复
有几个方法
1、选择适当的父类派生子类,将父类中Protected的事件属性在子类中Published出来。
对于一般通用的事件如OnClick,OnDbClick等可以这样做,建议你这样
2、先定义你的事件过程类型(如TNodifyEvent,实际上是指向事件过程的
指针),在类中声明一个该类型的字段,声明一个直接访问该字段的事件属性,然后
就是在适当的时机触发该事件(调用该事件过程)。自定义或父类中没有的事件都可
以这么添加。
3、可以拦截鼠标点击的消息,然后在消息处理中触发个事件(自己认为的)

chenquan 2003-05-13
  • 打赏
  • 举报
回复
是的,必须重新写这个属性
参看unit Controls;单元
property OnDblClick: TNotifyEvent read FOnDblClick write FOnDblClick;
u2m 2003-05-13
  • 打赏
  • 举报
回复
FaltStyle的TFlatButton有OnDblClick事件,你看它的实现
TFlatButton = class(TCustomControl)//从TCustomControl继承
FDown:Boolean;

procedure WMLButtonDblClk (var Message: TWMLButtonDown); message WM_LBUTTONDBLCLK;

procedure TFlatButton.WMLButtonDblClk (var Message: TWMLButtonDown);
begin
inherited;
if FDown then DblClick;
end;
hanzq 2003-05-13
  • 打赏
  • 举报
回复
在object inspector 中点event 然后找onDblClick 双击

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧