怎样让菜单消失?
leiyf 2001-04-24 10:59:00 在“任务栏”的“托盘”加入一个图标,
然后,用左键单击该图标,显示弹出菜单,
问题:若不选择一个菜单项,则该菜单始终显示在屏幕上。怎么会这样?
代码如下:
//弹出式菜单
void PopMyMenu(HWND hwndDlg,POINT point,BOOL bStart)
{
HMENU hMenu=CreatePopupMenu();
if(bStart)
AppendMenu(hMenu,MF_STRING,IDM_START,"停止虚拟");
else
AppendMenu(hMenu,MF_STRING,IDM_STOP,"启动虚拟");
AppendMenu(hMenu,MF_STRING,IDM_RETS,"重起服务");
AppendMenu(hMenu,MF_SEPARATOR,0,"");
AppendMenu(hMenu,MF_STRING,IDM_QUIT,"退出");
TrackPopupMenuEx(hMenu,TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,hwndDlg,NULL);
DestroyMenu(hMenu);
}
消息处理摘要:
...
switch(uMsg)
{
....
case MYWM_NOTIFYICON:
switch(lParam)
{
case WM_LBUTTONDOWN:
POINT point;
GetCursorPos(&point);
PopMyMenu(hwndDlg,point,bSorS);
break;
default:
break;
}
....
}