DELPHI如何捕获鼠标在本窗体以外范围的点击件事?

andylist 2012-01-22 05:39:55
如题。
主要目的是,当鼠标在本窗体以外的任意范围外点了左键或右键,即关闭本窗口。
...全文
446 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
nm_wyh 2012-01-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mwy654321 的回复:]
没必要用钩子,你在窗体失去焦点事件中写一句close即可。
[/Quote]
只要失去焦点就可以关闭窗体了!
andylist 2012-01-30
  • 打赏
  • 举报
回复
楼上的朋友,不是不重视问题,是实在不够用。
谢谢你的回答!
无条件为你 2012-01-26
  • 打赏
  • 举报
回复
楼主现在做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.
无条件为你 2012-01-26
  • 打赏
  • 举报
回复
没必要用钩子,你在窗体失去焦点事件中写一句close即可。
jet_piolet 2012-01-24
  • 打赏
  • 举报
回复
鼠标消息钩子啊
爱蹄子的羊头 2012-01-23
  • 打赏
  • 举报
回复
做一个 dll 用来hook。。
ccrun.com 2012-01-22
  • 打赏
  • 举报
回复
全局鼠标钩子笑而不语中。
Lactoferrin 2012-01-22
  • 打赏
  • 举报
回复
处理WM_CAPTURECHANGED

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧