跳转至

创建托盘

看一个很简单的示例代码即可:

#include "HiEasyX.h"

#define IDC_A   101
#define IDC_B   102

void OnTray(UINT id)
{
    BEGIN_TASK();

    switch (id)
    {
    case IDC_A:
        outtextxy(100, 100, L"A");
        break;

    case IDC_B:
        outtextxy(100, 100, L"B");
        break;
    }

    END_TASK();
    FLUSH_DRAW();
}

int main()
{
    hiex::Window wnd;
    wnd.Create();

    wnd.CreateTray(L"Tray Name");

    HMENU hMenu = CreatePopupMenu();
    AppendMenu(hMenu, MF_STRING, IDC_A, L"选项 A");
    AppendMenu(hMenu, MF_SEPARATOR, 0, NULL);           // 分隔符
    AppendMenu(hMenu, MF_STRING, IDC_B, L"选项 B");

    wnd.SetTrayMenu(hMenu);                 // 设置菜单
    wnd.SetTrayMenuProcFunc(OnTray);        // 设置菜单响应函数

    hiex::init_end();                       // 阻塞等待所有窗口关闭
    DestroyMenu(hMenu);                     // 销毁菜单,释放内存
    return 0;
}

运行此示例代码,将会在托盘中创建您的程序图标。只要在托盘菜单里面点击某一项,程序就会作出反应。

注意,在 HiEasyX 中,托盘是和窗口挂钩的,每个窗口原则上只能创建一个托盘。

评论