onMouseExit(10分)

  • 主题发起人 主题发起人 qddmh
  • 开始时间 开始时间
Q

qddmh

Unregistered / Unconfirmed
GUEST, unregistred user!
我继承了TSpeedButton组件, 加了onMouseEnter 和 onMouseExit 事件,
但onMouseExit当鼠标离开本组件时, 此事件一直出发.(我用Showmessage测试的)
高手们指点指点
procedure TMYSpeedButton.CMMouseEnter(var Message: TMessage);
begin
if Assigned(FMouseEnter) then
FMouseEnter(self);
// Perform(CM_MOUSELEAVE, 0, 0);
inherited;
end;


procedure TMYSpeedButton.CMMouseLeave(var Message: TMessage);
begin
if Assigned(FMouseExit) then
FMouseExit(self);
inherited;
end;

constructor TMYSpeedButton.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
SetBounds(0, 0, 60, 60);
end;
 
不能用ShowMessage测试,原因我也不知道,但是你可以这样:
加一个TEdit:Edit1,然后在Leave事件里面写上
Edit1.Text := Edit1.Text + 'Leave';
然后再试一下,肯定是离开一次触发一次。
 
用远程测试RemoteDebugger试一下就知道了
 
我也出现过同样的情况,用ShowMessage进行测试时出现了同样的问题,
将ShowMessage去调,系统也照样运行,而且还是正常运行的,
具体为何会这样,我也不大知道
 
接受答案了.
 
后退
顶部