急急急!!speedbutton(50分)

  • 主题发起人 主题发起人 yangh
  • 开始时间 开始时间
Y

yangh

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么speedbutton控件不响应哦ondbclick()事件!!
 
呵呵,什么是ondbclick呢
 
怎么speedbutton控件不响应ondblclick()事件!!
 
你要弄清楚控件的执行次序:
对于Speedbutton而言:
当执行ondblclick()事件时其他事件执行次序为:
OnMouseDowm();
OnMouseUp();
OnClick();
OnDblclick()
请检查一下你在以上事件.
 
我也知道 ,但是怎么实现呀!!
 
我试了一下,发现确实不知道怎么实现,:)
 
你一定要在OnDblclick()中实现,而ONClick()中又有中断代码.
你可以对消息编程式一下.
 
兄弟,在OnMouseDown 里写个线程进行延时判断吧。
我想在SpeedButton 里加上 OnDblClick 是个疏忽,你看别的Button有吗?

 
解决问题
我对TspeedButton的源码研究了一下:
在其中有一段代码如下:(大致如下)
//在鼠标左键双键消息中:
Procedure CMLButtonDBClick(var Msg:TCMLButtonDbClick);
begin
inherited;
if FDown then //当消息到达时,speedbutton状态为Down时才执行双击事件
//---------------------------------------
DBClick;
end;

所以以下方法可解决问题:
设置属性如下:
speedbutton1.GroupIndex:=1;
speedbutton1.AllowAllUp:=false;
speedbutton1.down:=true;


 
you are right!!
 
后退
顶部