托盤表徵圖及托盤菜單-問題及解決方案-編程-經驗

來源:互聯網
上載者:User

1.托盤菜單關閉不了-點擊空白處托盤菜單無法關閉

解決方案:在 PopupMenu 語句前加上 SetForegroundWindow Me.hwnd

例如:

if (LOWORD(lParam) == WM_RBUTTONUP)
{
HMENU hMenu = LoadMenu(This->Instance, MAKEINTRESOURCE(This->NotifyIconData.uID));
if (hMenu != NULL)
{
HMENU hSubMenu = GetSubMenu(hMenu, 0);
if (hSubMenu != NULL)
{
POINT pt;
LPCTSTR lpszText = NULL;
UINT EnableAPS =  MF_BYCOMMAND | MF_DISABLED | MF_GRAYED;
TCHAR MenuTitle[128];

if(g_bStart)
{
EnableMenuItem(hSubMenu, ID_APS_CONFIG, MF_ENABLED);

} else {

EnableMenuItem(hSubMenu, ID_APS_CONFIG, MF_DISABLED);
}
GetCursorPos(&pt);

switch (This->ApsDeviceState)
{
default:
case APS_STATE_DISABLED:
case APS_STATE_UNKNOWN:
LoadString(This->Instance, IDS_ENABLE_APS, MenuTitle, ARRAYSIZE(MenuTitle));
break;

case APS_STATE_ENABLED:
LoadString(This->Instance, IDS_DISABLE_APS, MenuTitle, ARRAYSIZE(MenuTitle));
break;
}

if (This->ApsDeviceState == APS_STATE_ENABLED ||
This->ApsDeviceState == APS_STATE_DISABLED)
{
EnableAPS = MF_BYCOMMAND | MF_ENABLED;
}

ModifyMenu(hSubMenu, ID_APS_ENABLE, MF_BYCOMMAND, ID_APS_ENABLE, MenuTitle);

EnableMenuItem(hSubMenu, ID_APS_ENABLE, EnableAPS);
SetForegroundWindow(hWnd);//沒有這句菜單不能自動消除
TrackPopupMenu(hSubMenu, TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, 0, This->hMainWnd, NULL);
}
}
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.