You must create a MENU resource like that:
Code: Select all
ID_MENU_SYSTRAY_DC++ -> DC++
ID_MENU_SYSTRAY_SHOW -> Show
ID_MENU_SYSTRAY_QUIT -> Quit
ID_MENU_SYSTRAY_ABOUT -> About
.....
in MainFrm.h:
---------------
Code: Select all
...
COMMAND_ID_HANDLER(ID_MENU_SYSTRAY_SHOW, onShow)
COMMAND_ID_HANDLER(ID_MENU_SYSTRAY_QUIT, onQuitter)
COMMAND_ID_HANDLER(ID_MENU_SYSTRAY_ABOUT,OnAppAbout)
...
LRESULT onQuitter(WORD , WORD , HWND , BOOL& ){
UINT uMsg;
BOOL x=TRUE;
WPARAM wParam;
LPARAM lParam;
BOOL& bHandled=x;
OnClose(uMsg, wParam, lParam, bHandled);
return 0;
}
LRESULT MainFrame::onShow(WORD , WORD , HWND , BOOL&){
ShowWindow(SW_SHOW);
ShowWindow(maximized ? SW_MAXIMIZE : SW_RESTORE);
return 0;
}
...
------------------
Code: Select all
...
LRESULT MainFrame::onTrayIcon(UINT, WPARAM , LPARAM lParam, BOOL& ){
if (lParam == WM_LBUTTONUP) {
......
.....
} else if(lParam == WM_MOUSEMOVE... ) {
.....
.....
}else if(lParam == WM_RBUTTONDOWN || lParam == WM_CONTEXTMENU){
CPoint pt;
CMenu mnuTrayMenu;
mnuTrayMenu.LoadMenu(IDR_MENU_TRAY);
GetCursorPos(&pt);
SetForegroundWindow(m_hWnd);
mnuTrayMenu.GetSubMenu(0).TrackPopupMenu(TPM_BOTTOMALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,pt.x,pt.y,m_hWnd);
PostMessage(WM_NULL, 0, 0);
mnuTrayMenu.GetSubMenu(0).SetMenuDefaultItem(0,TRUE);
}
return 0;
}
sorry for the not formatting text... all tab are deleted when i submit this post ...
(Edit:
Code: Select all
tags - GargoyleMT)[/i]