鼠标从一个Button上移走应该用什么事件? 如题! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 沒有現成的事件。你可以用FORM的OnMouseMove事件﹐判斷鼠标的位置是否在Button上。 好像没有专门的事件,须在button的容器中的mousemove中判断 unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; TMyButton = class(TButton) private FOnMouseLeave: TNotifyEvent; FOnMouseEnter: TNotifyEvent; procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE; procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER; property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave; property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter; public procedure MyLeave(Sender: TObject); procedure MyEnter(Sender: TObject); end;var Form1: TForm1;implementation{$R *.DFM}{ TMyButton }procedure TMyButton.CMMouseEnter(var Message: TMessage);begin if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);end;procedure TMyButton.CMMouseLeave(var Message: TMessage);begin if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);end;procedure TMyButton.MyEnter(Sender: TObject);begin Self.Caption := 'Enter';end;procedure TMyButton.MyLeave(Sender: TObject);begin Self.Caption := 'Leave'end;procedure TForm1.Button1Click(Sender: TObject);var MyButton: TMyButton;begin MyButton := TMyButton.Create(Self); MyButton.Parent := Self; MyButton.OnMouseLeave := MyButton.MyLeave; MyButton.OnMouseEnter := MyButton.MyEnter;end;end. 給寶貝征名 用SendMessage函数向某个窗体发送消息,请问F1消息怎么标识啊? 如何想Media Play 那样控制双声道,左声道,右声道 诚聘Delphi高级程序员 救命,如何判断DBCOMBOBOX的值为空? 身体器官工作表一览,睡觉别太晚了 请问如何删除安装好的包? 关于文本的一些操作,高手指点下哈 Delphi可以内嵌汇编,我想知道它可以内嵌机器码吗? 关于Application.Terminate 为什么我的打印预览只显示一条记录啊? 求救!
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;type TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; TMyButton = class(TButton)
private
FOnMouseLeave: TNotifyEvent;
FOnMouseEnter: TNotifyEvent;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
public
procedure MyLeave(Sender: TObject);
procedure MyEnter(Sender: TObject);
end;var
Form1: TForm1;implementation{$R *.DFM}{ TMyButton }procedure TMyButton.CMMouseEnter(var Message: TMessage);
begin
if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);
end;procedure TMyButton.CMMouseLeave(var Message: TMessage);
begin
if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
end;procedure TMyButton.MyEnter(Sender: TObject);
begin
Self.Caption := 'Enter';
end;procedure TMyButton.MyLeave(Sender: TObject);
begin
Self.Caption := 'Leave'
end;procedure TForm1.Button1Click(Sender: TObject);
var
MyButton: TMyButton;
begin
MyButton := TMyButton.Create(Self);
MyButton.Parent := Self;
MyButton.OnMouseLeave := MyButton.MyLeave;
MyButton.OnMouseEnter := MyButton.MyEnter;
end;end.