添加系统托盘图标。创建工程的时候可以选择默认支持,我这里是后添加的。
修改uires.idx文件
<ICON> <file name="ICON_LOGO" path="image\soui.ico"/> </ICON> <SMENU> <file name="menu_tray" path="xml\menu_tray.xml"/> </SMENU>
|
<menu itemHeight="26" iconMargin="4" textMargin="8"> <item id="1">显示主窗口</item> <item id="2">版本信息</item> <sep/> <item id="3">退出</item> </menu>
|
在窗口布局里面添加
<shellnotifyicon id="110" menu="SMENU:menu_tray" ico="ICON_LOGO:16" tip="110"/>
|
添加.h.cpp文件
SShellNofityHwnd2 SShellNotifyIcon
|
在stdafx.h添加
#include "trayicon/SShellNotifyIcon.h"
入口文件添加
theApp->RegisterWindowClass<SShellNotifyIcon>(); // BLOCK: Run application
|
主窗口添加
cpp文件添加
OnInitDialog:
SShellNotifyIcon *notify = FindChildByID2<SShellNotifyIcon>(110); notify->ShowNotify(L"Hello SOUI", L"这可能是一个提示");
//演示如何响应菜单事件 void CMainDlg::OnCommand(UINT uNotifyCode, int nID, HWND wndCtl) { if (uNotifyCode == 0) { switch (nID) { case 6: PostMessage(WM_CLOSE); break; default: break; } } }
|
主窗口头文件添加
//演示如何响应菜单事件 void OnCommand(UINT uNotifyCode, int nID, HWND wndCtl);
//托盘消息处理 //MESSAGE_HANDLER(WM_ICONNOTIFY, OnIconNotify) MSG_WM_COMMAND(OnCommand) CHAIN_MSG_MAP(SHostWnd)
|