如何在一个非主窗口最小化前执行一段代码 我想在一个非主窗口最小化前执行一段代码,而且主窗口与非主窗口不是父子关系该如何实现呢。如果是主窗口的话可以用Application.OnMinimize,非主窗口该如何解决这个问题呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在form的ondeactive是建立处理,但是关闭等也会触发这个事件,需要自己处理一下。 窗口将响应WM_SYSCOMMAND消息,Message.CmdType=SC_MINIMIZE 想避免窗口最小化,则继承该消息响应,并在 CmcType=SC_MINIMIZE 时不做处理,例子如下: private procedure WMSyscommand(var Message: TWMSysCommand); message WM_SYS COMMAND; ... ... implementation procedure TFormXXX.WMSyscommand(var Message: TWMSysCommand); begin case Message.CmdType of SC_MINIMIZE: //添加代码 else inherited; end; end; 同意楼上guothreelove2003() 的 首先拦截消息,然后在 执行添加需要执行的代码…… 求助 在DELPHI中怎样将EXCEL数据转换为SQLSERVER数据或是其它数据库形式? Delphi在DLL中返回多个值求解 此SQL语句应该如何写? 怎么样动态给popupmenu添加菜单! 在一个缓冲区中如何按一定长度分批取数据? 如何改变word的背景色??? 请问有没有图象采集卡的控件,哪里下载,怎样用? SocketServer的工作机理? 请问:桌面刷新产生的是什么事件或消息? 100分求救!!!高手请进!!! *****辞职了,散点分给大家意思意思******
窗口将响应WM_SYSCOMMAND消息,Message.CmdType=SC_MINIMIZE
想避免窗口最小化,则继承该消息响应,并在 CmcType=SC_MINIMIZE
时不做处理,例子如下:
private
procedure WMSyscommand(var Message: TWMSysCommand); message WM_SYS
COMMAND;
... ...
implementation
procedure TFormXXX.WMSyscommand(var Message: TWMSysCommand);
begin
case Message.CmdType of
SC_MINIMIZE:
//添加代码
else inherited;
end;
end;
首先拦截消息,然后在 执行添加需要执行的代码……