宏碁笔记本: 超值家用14寸本 500G硬盘独显宏碁4736G点评
  • 6楼 Re: 宏碁笔记本: 超值家用14寸本 500G硬盘独显宏碁4736G
  • 笔记本本身是没有的,那是你装的系统没有弄好吧,,



    显示托盘的方法:

    首先在对话框类里声明个变量

    NOTIFYICONDATA m_tnid;

    在对话框初始化加入以下代码,主要是设置父窗体,图标消息,图标提示,以及图标

    m_tnid.cbSize =sizeof(NOTIFYICONDATA);
    m_tnid.hWnd =m_hWnd;
    m_tnid.uFlags =NIF_MESSAGE|NIF_ICON|NIF_TIP;
    m_tnid.uCallbackMessage =MYWM_NOTIFYICON;
    _tcscpy(m_tnid.szTip ,_TEXT("Your notify info"));
    m_tnid.uID =IDR_MAINFRAME;
    m_tnid.hIcon =AfxGetApp()->LoadIcon (IDR_MAINFRAME);
    Shell_NotifyIcon(NIM_ADD,&m_tnid);


    定义消息,添加消息映射,和消息映射函数

    #define MYWM_NOTIFYICON (WM_USER+50)

    afx_msg LRESULT OnNotifyIcon(WPARAM wParam,LPARAM lParam);

    ON_MESSAGE(MYWM_NOTIFYICON,OnNotifyIcon)


    在OnNotifyIcon中处理消息

    switch (lParam)

    {
    case WM_RBUTTONUP:

    break;
    case WM_LBUTTONDBLCLK:
    break;

    }

    如想删除图标,或需退出程序

    Shell_NotifyIcon(NIM_DELETE,&m_tnid);

    需要弹出在鼠标右键后弹出菜单,可在WM_RBUTTONUP后加入

    POINT pt;
    GetCursorPos(&pt);
    CMenu mnu;
    mnu.LoadMenu (ID_TRAYMENU);

    CMenu *mnuPop =mnu.GetSubMenu (0);

    mnuPop->TrackPopupMenu (TPM_RETURNCMD|TPM_RIGHTBUTTON,pt.x ,pt.y,this,NULL))
    mnuPop->DestroyMenu ()
  • 作者:hbgf 2010-3-24 19:19:00
首页 | 前页 | 后页 | 尾页分页 1/1 [1]

点评
字数0
姓名
  • ·尊重网上道德,遵守中华人民共和国的各项有关法律法规 ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任 ·本站管理人员有权保留或删除其管辖留言中的任意内容 ·本站有权在网站内转载或引用您的评论 ·参与本评论即表明您已经阅读并接受上述条款