隐藏托盘图标:托盘图标及菜单的处理来源: 发布时间:星期四, 2009年2月12日 浏览:140次 评论:0
1、窗口关闭时消息 ![]() OnClose OnCancel OnDestroy 2、重载OnClose ![]() ![]() ![]() ![]() voidCsiphelloDlg::OnClose ![]() ...{ //TODO:Addyourmessagehandlercodehereand/orcalldefault ShowWindow(SW_HIDE); } 3、将Esc按键过滤 ![]() ![]() ![]() BOOLCsiphelloDlg::PreTranslateMessage(MSG*pMsg) ...{ //TODO:Addyourspecializedcodehereand/orcallthebase ![]() //过滤Esc按键 ![]() ![]() ![]() ![]() ...{ ![]() } ![]() } 4、写 ![]() ![]() ![]() ![]() ![]() voidCsiphelloDlg::ShowTray(BOOLbShow) ...{ NOTIFYICONDATAnid; nid.cbSize=(DWORD) ![]() nid.hWnd=this->m_hWnd; nid.uID=IDR_MAINFRAME; nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP; nid.uCallbackMessage=WM_SHOWTRAY;//自定义 ![]() //nid.hIcon=LoadIcon(AfxGetInstanceHandle ![]() nid.hIcon=m_hIcon; wcscpy_s(nid.szTip,_T(\"hellosip\")); ![]() Shell_Not ![]() ![]() Shell_Not ![]() } 5、在OnShowWindow中 ![]() ![]() ![]() ![]() ![]() 6、处理图标上 ![]() ![]() BEGIN_MESSAGE_MAP(CsiphelloDlg,CDialog) //其它 ![]() ON_WM_SHOWWINDOW ![]() ON_MESSAGE(WM_SHOWTRAY,OnTrayClicked)//这是处定义消息处理 ![]() ON_WM_CLOSE ![]() ON_WM_DESTROY ![]() END_MESSAGE_MAP ![]() LRESULTCsiphelloDlg::OnTrayClicked(WPARAMwParam,LPARAMlParam) ...{ //wParam是图标 ![]() ![]() ![]() switch(lParam) ...{ ![]() ...{ LPPOINTlpo ![]() ![]() ::GetCursorPos(lpo ![]() CMenumenu;//弹出式菜单 menu.CreatePopupMenu ![]() menu.AppendMenu(MF_STRING,WM_DESTROY,_T(\"退出\")); menu.TrackPopupMenu(TPM_LEFTALIGN,lpo ![]() ![]() //资源回收 HMENUhmenu=menu.Detach ![]() menu.DestroyMenu ![]() deletelpo ![]() } ![]() ![]() ...{ [Page] ShowWindow(SW_SHOW); } ![]() } ![]() } 0
相关文章读者评论发表评论 |