系统托盘右键弹出出错。
7xin 2004-11-21 11:04:28 当在系统托盘右键的时候,就出现内存不能为Read,
pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pos.x,pos.y,AfxGetMainWnd());
好像是这句有问题,但是不知道错在什么地方,还请大人们看看。。。
*********************************************************************************
LRESULT CMoftreeDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
switch(message)
{
case WM_ICONNOTIFY:
//如果是用户定义的消息
if(lParam==WM_LBUTTONDBLCLK)
{
//鼠标双击时主窗口出现/隐藏
if(ShowWindow(SW_NORMAL))
{
ShowWindow(SW_HIDE);
}else
{
ShowWindow(SW_NORMAL);
}
}
else if(lParam==WM_RBUTTONDOWN){
//鼠标右键单击弹出菜单
CMenu menu1;
menu1.LoadMenu(IDR_MENU_PRO); //载入事先定义的选单
CMenu *pMenu=menu1.GetSubMenu(0);
CPoint pos;
GetCursorPos(&pos);
pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pos.x,pos.y,AfxGetMainWnd());
}
break;
case WM_SYSCOMMAND:
//如果是系统消息
if(wParam==SC_MINIMIZE)
{
//接收到最小化消息时主窗口隐藏
AfxGetApp()->m_pMainWnd->ShowWindow(SW_HIDE);
return 0;
}
break;
}
return CDialog::WindowProc(message, wParam, lParam);
}