📄 subject_55202.htm
字号:
<p>
序号:55202 发表者:山 人 发表日期:2003-10-07 20:34:25
<br>主题:POPUP菜单问题
<br>内容:我先是将程序最小化在系统托盘(tray)里<BR><BR>然后通过单击鼠标右键 打开一个POPUP菜单<BR><BR>这时 我不想选择其中的菜单项 在菜单外任意单击一下 希望菜单自动消失<BR><BR>but failed<BR><BR>我用的TrackPopupMenu函数 msdn上说 只要把最后一个参数取0(也就是默认值)即可<BR><BR>但不行 不知道是哪里出问题了
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:山 人 回复日期:2003-10-07 20:44:48
<br>内容:是不是菜单接受不到消息呀
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-10-07 21:03:54
<br>内容:以前没注意到这个情况,今天发现当真果然如此,不知道为什么就试试TrackPopupMenuEx
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-10-07 21:43:18
<br>内容:我想起来了,这是一个BUG,要加入两个语句:<BR>OnNotifyIcon()函数最后return前加入:<BR>SetForegroundWindow();在<BR>POP菜单指针->DestroyMenu();后加入PostMessage(0, 0, 0);<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:山 人 回复日期:2003-10-07 22:06:30
<br>内容:但是我没有用到OnNotifyIcon()函数呀
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-10-07 22:07:59
<br>内容:那你在哪儿弹出菜单的?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:山 人 回复日期:2003-10-07 22:10:10
<br>内容:系统的托盘呀 就是屏幕右下脚
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-10-07 22:13:17
<br>内容:我是说处理什么消息时弹出。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:山 人 回复日期:2003-10-07 22:16:10
<br>内容:我想模仿flashget在关闭时自动隐藏到屏幕的右下角<BR><BR><BR><BR>在右键单击图标时 弹出一个菜单
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-10-07 23:13:13
<br>内容:哦,我忘了,OnNotifyIcon()是一个自定义的处理托盘消息的函数,你的程序中应该也有一个同样功能的函数,它里面是这种结构:<BR>switch (lParam) {<BR>case WM_RBUTTONUP:<BR>。。。。。。<BR>case WM_LBUTTONDBLCLK:<BR>。。。。<BR>}<BR>你就把SetForegroundWindow();加到这个函数的最后。<BR><BR>flashget那个效果我以前用WIN32程序实现过,它其实是将窗口关闭消息置换成窗口最小化消息,然后再隐藏窗口。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:zry 回复日期:2003-10-08 14:36:19
<br>内容:不行啊。<BR>DestroyMenu,PostMessage加哪啊?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:a dog 回复日期:2003-10-08 17:38:45
<br>内容:我这儿有一个基于对话框的示例,你拿去看一下吧,也是我以前在网上找的。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:山 人 回复日期:2003-10-08 23:28:08
<br>内容:谢拉 老兄
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:山人 回复日期:2003-10-09 08:53:47
<br>内容:我昨天试了一下 只要在TrackPopupMenu函数的前面加一句SetForegroundWindow(); 就ok 了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:zry 回复日期:2003-10-09 10:27:57
<br>内容:哦,原来这么简单。<BR>谢谢山人。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:山人 回复日期:2003-10-09 13:14:52
<br>内容:我估计就是收不到消息<BR><BR>让程序转到前台 就可以了(好像应该是这个原因把)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lvjzh*** 回复日期:2003-10-09 17:24:57
<br>内容:我用了用11楼的程序,不错,回去我研究研究<BR>我是刚学VC 的菜鸟
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:山 人 回复日期:2003-10-09 19:43:09
<br>内容:那个程序有点问题 你要是刚学的话 会看晕的
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:zry 回复日期:2003-10-10 09:16:30
<br>内容:17楼给我说吗?那个程序我下不下来,我用hiller2008的方法实现了效果,不知有没有缺陷。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:山人 回复日期:2003-10-10 13:34:06
<br>内容:呵呵 都是我 一个号在家用 一个在公司用<BR><BR><BR>PostMessage(0, 0, 0)函数我没想通是什么意思 我就加//屏蔽掉了 <BR><BR>也可以实现那个效果
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:随风的绿叶 回复日期:2003-10-11 13:21:15
<br>内容:SetForegroundWindow()是作什么用的?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:zry 回复日期:2003-10-13 09:46:20
<br>内容:哦,原来如此
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:山 人 回复日期:2003-10-13 23:32:26
<br>内容:我的理解是:<BR><BR>在windows中 只有一 个前台进程(标题栏是兰的 其他的是灰的)<BR><BR>这个函数可能就是将主窗口(程序)设为前台进程<BR><BR><BR>所以当鼠标在别出点击的时 候 主窗口失去焦点 同时菜单也间接收到了消息
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -