新手提问:有关最小化的问题

鸡翅多 2003-12-26 12:04:57
我如何捕获在任务栏上单击窗口按钮所产生的最小化的事件?
...全文
41 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
鸡翅多 2003-12-27
  • 打赏
  • 举报
回复
另外我已经能拦截到点击窗口的最小化按钮的事件(看例子,不是自己会),但是拦不到我说的这种,但是看金山词霸和FLASHGET都可以实现那种功能。
最明显的实验就是,大家(我的实验程序,金山词霸和FLASHGET)都点最小化按牛都可以正常的缩到系统时钟的TRAYICON区域,但是如果点“显示桌面”我的程序就不会缩到TRAYICON区域而是正常的最小化到了系统的任务栏上,就象普通的程序点最小化按钮那样,而那两个程序同样可以缩到TRAYICON区域。
还请各位前辈多多指点!!!
鸡翅多 2003-12-27
  • 打赏
  • 举报
回复
用无天的方法拦不到
用西周生的方法编译的时候报错:Illegal message method index
delphipan 2003-12-27
  • 打赏
  • 举报
回复
学习大家
flyinwuhan 2003-12-27
  • 打赏
  • 举报
回复
我如何捕获在任务栏上单击窗口按钮所产生的最小化的事件?------------------
单击窗口按钮---应该是---单击“显示窗口”按钮吧?
误解了!

拦截WM_SHOWWINDOW消息,如果lParam = SW_SHOWMINNOACTIVE,单击“显示窗口”按钮产生的消息,试试吧
flyinwuhan 2003-12-27
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMinimize := minisize;
end;

procedure TForm1.minisize(Sender: TObject);
begin
sndPlaySound('ding.wav', SND_ASYNC);
end;

满意吗?
superlionet 2003-12-27
  • 打赏
  • 举报
回复
在看, 不过没看懂。
littleflowerfox 2003-12-27
  • 打赏
  • 举报
回复
msg.WParam = SC_MINIMIZE
鸡翅多 2003-12-27
  • 打赏
  • 举报
回复
还有人看看吗?
yantao14 2003-12-26
  • 打赏
  • 举报
回复
madyak(无天)的應該可以
jyh149129 2003-12-26
  • 打赏
  • 举报
回复
up
madyak 2003-12-26
  • 打赏
  • 举报
回复
拦截WM_SYSCOMMAND消息:

procedure TFrmMain.WMSysCommand(var msg: TMessage);message WM_SYSCOMMAND;
begin
if msg.WParam = SC_MINIMIZE then
Self.WindowState := wsMinimized
else
inherited;
end;
outer2000 2003-12-26
  • 打赏
  • 举报
回复
最简单是放一个APPLICATIONEVENTS;这个是点最小化按钮应该是一样的效果;
yzty 2003-12-26
  • 打赏
  • 举报
回复
up
cll007 2003-12-26
  • 打赏
  • 举报
回复
楼主结帐
siyu2002 2003-12-26
  • 打赏
  • 举报
回复
同意拦截WMSysCommand消息
delphi_xizhousheng 2003-12-26
  • 打赏
  • 举报
回复
拦WMSysCommand消息 判断WParam 参数
或者直接拦WS_MINIMIZE
procedure TFrmMain.WSMinimize(var msg: TMessage);message WS_MINIMIZE
begin
if msg.Message=WS_MINIMIZE then
do....


end;

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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