Home » KB » 如何在最小化托盘里面加入菜单 |
/// add tray icon
NOTIFYICONDATA nid;
memset(&nid;, 0, sizeof(NOTIFYICONDATA));
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = m_hWnd;
nid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
nid.uCallbackMessage = WM_TRAY_MSG;
strcpy(nid.szTip, ‘server’);
nid.uID = IDR_MAINFRAME;
nid.hIcon = m_hIcon;
Shell_NotifyIcon(NIM_ADD, &nid;);
LRESULT CServerDlg::OnTrayMessage(WPARAM wParam, LPARAM lParam)
{
if(lParam == WM_RBUTTONDOWN)
{
CMenu menu;
menu.LoadMenu(IDR_MENU1);
CMenu* pMenu = menu.GetSubMenu(0);
POINT pt;
GetCursorPos(&pt;);
BringWindowToTop();
pMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, this, NULL);
}
return 0;
}
Copyright © 2009 xuyibo.org All right reserved. |