delphi – 当鼠标离开我的控制时,如何触发事件?
发布时间:2020-12-15 09:48:55 所属栏目:大数据 来源:网络整理
导读:如何创建OnMouseLeave事件? 解决方法 Andreas解决方案的另一个替代方案是使用已在delphi 7中定义的CM_MOUSELEAVE VCL消息. 使用TButton的插入器类检查此示例 type TButton = class(StdCtrls.TButton) private FOnMouseLeave: TNotifyEvent; procedure CMMou
如何创建OnMouseLeave事件?
解决方法
Andreas解决方案的另一个替代方案是使用已在delphi 7中定义的CM_MOUSELEAVE VCL消息.
使用TButton的插入器类检查此示例 type TButton = class(StdCtrls.TButton) private FOnMouseLeave: TNotifyEvent; procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE; protected property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave; end; TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure FormCreate(Sender: TObject); private procedure ButtonMouseLeave(Sender: TObject); public end; //handle the message and call the event handler procedure TButton.CMMouseLeave(var Message: TMessage); begin if (Message.LParam = 0) and Assigned(FOnMouseLeave) then FOnMouseLeave(Self); end; procedure TForm1.ButtonMouseLeave(Sender: TObject); begin //your code goes here end; procedure TForm1.FormCreate(Sender: TObject); begin //assign the event Button1.OnMouseLeave:=ButtonMouseLeave; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |