鼠标在窗体上的 移入 和 移出 事件
如何获得 鼠标在莫个窗体上的 移入和移出 事件 , 不管该窗体是否是激活的
问题点数:20、回复次数:5Top
1 楼struggle813(深蓝大道)回复于 2005-09-16 16:49:18 得分 10
procedure CMMouseenter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseleave(var Message: TMessage); message CM_MOUSELEAVE;Top
2 楼ptma(守望者)回复于 2005-09-17 12:14:05 得分 0
不行啊Top
3 楼struggle813(深蓝大道)回复于 2005-09-17 19:42:35 得分 10
暂时没想到好方法,变通了一下,你先看看。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
Panel1: TPanel;
procedure Timer1Timer(Sender: TObject);
private
protected
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Math;
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
var H:HWND;
begin
H:=WindowFromPoint(Mouse.CursorPos);
if (H<>Handle) and ( not IsChild(Handle,H))then
begin
caption:='Mouse Leave';
end
else
begin
caption:='Mouse Enter';
end;
Application.ProcessMessages;
end;
end.
Top
4 楼warmworm(warmworm)回复于 2005-09-18 02:03:24 得分 0
SetCapture
Top
5 楼ptma(守望者)回复于 2005-09-18 13:04:49 得分 0
用定时器感觉不好
warmworm(warmworm) :
SetCapture 何意?Top




