soui添加系统托盘图标

添加系统托盘图标。创建工程的时候可以选择默认支持,我这里是后添加的。

修改uires.idx文件

<ICON>
<file name="ICON_LOGO" path="image\soui.ico"/>
</ICON>
<SMENU>
<file name="menu_tray" path="xml\menu_tray.xml"/>
</SMENU>

创建menu_systray.xml文件

<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)