DELPHI如何捕获鼠标在本窗体以外范围的点击件事?
如题。
主要目的是,当鼠标在本窗体以外的任意范围外点了左键或右键,即关闭本窗口。
[解决办法]
处理WM_CAPTURECHANGED
[解决办法]
全局鼠标钩子笑而不语中。
[解决办法]
做一个 dll 用来hook。。
[解决办法]
鼠标消息钩子啊
[解决办法]
没必要用钩子,你在窗体失去焦点事件中写一句close即可。
[解决办法]
楼主现在做delphi的已经不多了,你只给这点分显然是对问题不重要,我回答 的动力都没有了。
算了,不跟你计较了,代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
//声明处:
procedure MyProcessMsg( var message:TWMACTIVATEAPP); message WM_ACTIVATEAPP;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.MyProcessMsg(var message: TWMACTIVATEAPP);
begin
if Message.Active=False then close;
end;
end.