15,979
社区成员
发帖
与我相关
我的任务
分享
LRESULT CAaaaaaaaaaDlg::OnShowTask(WPARAM wParam,LPARAM lParam)
{
if(wParam != IDR_MAINFRAME)
return 1;
switch(lParam)
{
case WM_RBUTTONUP:
{
LPPOINT lpoint = new tagPOINT;
::GetCursorPos(lpoint);
CMenu menu;
menu.CreatePopupMenu();
menu.AppendMenu(MF_STRING, WM_OUT, "打开");
menu.AppendMenu(MF_STRING, WM_DESTROY, "退出");
menu.TrackPopupMenu(TPM_LEFTALIGN, lpoint->x ,lpoint->y, this);
HMENU hmenu = menu.Detach();
menu.DestroyMenu();
delete lpoint;
}
break;
case WM_LBUTTONDBLCLK:
{
this->ShowWindow(SW_SHOWNORMAL);
this->SetForegroundWindow();
}
break;
}
return 0;
}
void CAaaaaaaaaaDlg::onOut()
{
ShowWindow(SW_SHOWNORMAL);
SetForegroundWindow();
}
/*托盘区图标消息处理函数,该函数实现功能为:在托盘区图标上单击右键
时在鼠标位置弹出一个菜单,如果不选择菜单选项,在其他地方单击鼠标,
菜单消失;当双击左键时,程序主窗口重新弹出显示。*/
void CNotifyiconDlg::OnWM_NOTIFYICON(WPARAM wParam,LPARAM lParam)
{
UINT nID = (UINT)wParam;
UINT uMouseMsg = (UINT)lParam;
switch(uMouseMsg)
{
case WM_LBUTTONDBLCLK:
case WM_LBUTTONDOWN:
if(m_bIsMinimized == TRUE)
{
ShowWindow(SW_SHOW);
m_bIsMinimized = !m_bIsMinimized;
}
break;
case WM_RBUTTONDOWN:
CMenu menu;
CPoint curpos;
GetCursorPos(&curpos);
if(menu.LoadMenu(IDR_MENU1))
{
CMenu* pPopup;
pPopup=menu.GetSubMenu(0);
// pPopup->CreatePopupMenu();
// pPopup->AppendMenu(MF_STRING,ID_MINIMIZE,"最小化");
ASSERT(pPopup!=NULL);
SetForegroundWindow();
pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,curpos.x,curpos.y,AfxGetMainWnd());
}
}
}