15,978
社区成员
发帖
与我相关
我的任务
分享
LRESULT ChttpDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: 在此添加专用代码和/或调用基类
switch(message)
{
case UM_NOTIFYICON:
if(lParam == WM_LBUTTONDBLCLK)
{
AfxGetApp()->m_pMainWnd->ShowWindow(SW_SHOW);
}
else if(lParam == WM_RBUTTONDOWN)
{//下面是我跳出托盘菜单的代码
CMenu menu;
menu.LoadMenu(IDR_MENU_ADJUVANT);
menu.Detach();
CMenu* pMenu = menu.GetSubMenu(0);
CPoint pos;
GetCursorPos(&pos);
::SetForegroundWindow((HWND)AfxGetApp()->m_pMainWnd);
pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON, pos.x, pos.y, AfxGetMainWnd());
::PostMessage((HWND)AfxGetApp()->m_pMainWnd, WM_NULL, 0, 0);
}
break;
case WM_SYSCOMMAND:
if(wParam==SC_CLOSE)
{
AfxGetApp()->m_pMainWnd->ShowWindow(SW_HIDE);//接收到关闭消息时主窗口隐藏
return 0;
}
break;
}
return CDialog::WindowProc(message, wParam, lParam);
}
SetForegroundWindow(); //在任何一处点击,右键菜单就能消失