📄 subject_44757.htm
字号:
<p>
序号:44757 发表者:网上追跳 发表日期:2003-06-23 10:53:05
<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>
回复者:lijb 回复日期:2003-06-23 11:24:31
<br>内容:void CMainFrame::OnTrayMessage(WPARAM wParam, LPARAM lParam)<BR>{<BR> UINT uID;//发出该消息的图标的ID<BR> UINT uMouseMsg;//鼠标动作<BR> POINT pt;<BR> uID=(UINT) wParam;<BR> uMouseMsg=(UINT) lParam;<BR> if(uMouseMsg==WM_RBUTTONDOWN)//如果是单击右键<BR> {<BR> switch(uID)<BR> {<BR> case IDR_MAINFRAME://如果是我们的图标<BR> {<BR> GetCursorPos(&pt);//取得鼠标位置<BR> // this->MessageBox("aaaa");<BR> // AfxGetApp( )-> m_pMainWnd->ShowWindow(SW_SHOWNORMAL);//显示程序窗口<BR> CMenu menu;<BR> if (!menu.LoadMenu(IDR_TRAY))<BR> return ;<BR> CMenu* pSubMenu = menu.GetSubMenu(0);<BR> if (!pSubMenu) <BR> return ;<BR><BR><BR> // Make first menu item the default (bold font)<BR> ::SetMenuDefaultItem(pSubMenu->m_hMenu, 0, TRUE);<BR><BR> // Display the menu at the current mouse location. There's a "bug"<BR> // (Microsoft calls it a feature) in Windows 95 that requires calling<BR> // SetForegroundWindow. To find out more, search for Q135788 in MSDN.<BR> //<BR> CPoint mouse;<BR> GetCursorPos(&mouse);<BR> ::SetForegroundWindow(this->m_hWnd); <BR> ::TrackPopupMenu(pSubMenu->m_hMenu, 0, mouse.x, mouse.y, 0,<BR> this->m_hWnd, NULL);<BR><BR><BR> //this->ShowWindow(SW_SHOW);<BR> break;<BR> }<BR> default:<BR> ;<BR> }<BR> }<BR> return; <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>
回复者:网上追跳 回复日期:2003-06-23 11:33:44
<br>内容:谢谢lijb,我试试,如果对的话一定给分,谢谢!
<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-06-23 11:44:47
<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>
回复者:lijb 回复日期:2003-06-23 13:24:16
<br>内容: NOTIFYICONDATA tnd;<BR> tnd.cbSize=sizeof(NOTIFYICONDATA);<BR> tnd.hWnd=this->m_hWnd;<BR> tnd.uID=IDR_MAINFRAME;<BR> tnd.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;<BR> tnd.uCallbackMessage=WM_TRAYMESSAGE;<BR>// file://用户自定义的消息,即鼠标在任务栏上程序图标上动作时图标发送的消息<BR> tnd.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON2));<BR> strcpy(tnd.szTip,"服务程序");//图标提示为"测试程序"<BR> Shell_NotifyIcon(NIM_ADD,&tnd);//向任务栏添加图标<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>
回复者:liveyou 回复日期:2003-06-23 21:32:53
<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-06-24 11:04:22
<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>
<font color=red>答案被接受</font><br>回复者:lijb 回复日期:2003-06-24 14:08:38
<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-06-25 09:07:59
<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 + -