zoukankan      html  css  js  c++  java
  • 任务栏托盘弹出菜单

    先说一下思路吧。。。。。主要用的的是一个NOTIFYICONDATA结构和Shell_NotifyIcon函数

    其它的就是一些消息响应了

    一、先是自己写一个实现托盘的函数StartTry(),

    nData;
    nData.cbSize = sizeof(NOTIFYICONDATA);
    nData.hWnd = this->m_hWnd;
    nData.uID = IDR_MAINFRAME;
    nData.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
    nData.uCallbackMessage = WM_ONTRY;        //在头文件中自定义WM_ONTRY(#define WM_ONTRY WM_USER+1)消息响应函数nData.hIcon = LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_MAINFRAME));
    strcpy(nData.szTip,"sun");
    Shell_NotifyIcon(NIM_ADD, &nData);
    this->ShowWindow(SW_HIDE);
    return TRUE;

    二、写一个停止托盘的函数StopTry()

    NOTIFYICONDATA nData;
     nData.cbSize = sizeof(NOTIFYICONDATA);
     nData.hWnd = this->m_hWnd;
     nData.uID = IDR_MAINFRAME;
     nData.uFlags = NIF_TIP|NIF_MESSAGE|NIF_TIP;

     Shell_NotifyIcon(NIM_DELETE,&nData);

    三、写一个删除托盘的消息响应函数DeleteTry();

    StopTry();
     this->ShowWindow(SW_SHOW);

    四、在WM_ONTRY消息响应函数中对不同的操作进行响应

     switch(lParam)
     {
     case WM_LBUTTONDOWN:
      this->ShowWindow(SW_SHOW);  //显示菜单

      DeleteTry();

     case WM_RBUTTONDOWN:
      {
       POINT point;
       GetCursorPos(&point);
       CMenu menu;
       menu.CreatePopupMenu();
       menu.AppendMenu(MF_BITMAP,WM_DeleteTry,&m_Bitmap[0]);  //右击图片删除菜单
       menu.AppendMenu(MF_BITMAP,WM_DESTROY,&m_Bitmap[1]); //右击图片退出菜单
       menu.TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
       break;
      }  
     default:
      {
       CMenu::DeleteTempMap();
       break;
      }

     }

    出现的问题

    menu.CreatePopupMenu();这一句。

    刚开始我是产生一个菜单menu.createMenu(),菜单栏中的图片和文字只出现一小部分

    看来还是做下才知道问题出现在哪。

  • 相关阅读:
    1130 Infix Expression (25分)
    1131 Subway Map (30分)
    1132 Cut Integer (20分)
    1133 Splitting A Linked List (25分)
    1134 Vertex Cover (25分)
    1135 Is It A Red-Black Tree (30分)
    tensorflow 1.0的部分项目配置匹配
    1136 A Delayed Palindrome (20分)
    谷粒商城Redisson分布式锁(二十四)
    谷粒商城缓存(二十三)
  • 原文地址:https://www.cnblogs.com/ccmfc/p/1717531.html
Copyright © 2011-2022 走看看