博弈

天高任鸟飞,海阔任鱼游
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

WTL的TrayIcon类

Posted on 2010-03-15 16:10  ruizhe  阅读(416)  评论(0)    收藏  举报

原作者发布在:http://www.codeproject.com/KB/wtl/wtltrayicon.aspx

 

使用步骤如下:

  1. 包含头文件
    #include "TrayIconImpl.h"
  2. 让主窗口为其子类
    class CMainFrame :
    ......,
    public CTrayIconImpl<CMainFrame>
    {
    ......
    };
  3. 创建一个自己的添加图标函数
    void MyInstallIcon()
    {
    HICON hIconSmall
    = (HICON)::LoadImage(_Module.GetResourceInstance(),
    MAKEINTRESOURCE(IDR_MAINFRAME),
    IMAGE_ICON,
    ::GetSystemMetrics(SM_CXSMICON),
    ::GetSystemMetrics(SM_CYSMICON),
    LR_DEFAULTCOLOR);
    InstallIcon(_T(
    "Tooltip text"), hIconSmall, IDR_MAINFRAME);

    }
  4. 注册"TaskbarCreated"消息并创建消息函数
    UINT m_uTaskbarCreatedMsg;

    CMainFrame()
    {
    m_uTaskbarCreatedMsg
    = ::RegisterWindowMessage(_T("TaskbarCreated"));
    }

    LRESULT OnTaskbarCreated(UINT
    /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
    {
    return 0;
    }
  5. 在OnCreate和OnTaskbarCreated中分别调用MyInstallIcon