zoukankan      html  css  js  c++  java
  • 学习远控界面设计五: 在列表中显示弹出菜单

     今天我将记录我学习的内容,那就是如何设计在列表中显示弹出菜单。

    我们先新建立一个资源。

    我们将ID设置为比较有意义的ID,这样比较好区分。

    我们来学习GHOST的菜单,当GHOST在选择机器控制的时候,菜单资源才会可用,不然菜单资源就是灰色的。

    当我们管理机器的时候,需要右键,然后跳出菜单来选择功能。所以我们需要添加一个事件。

    加入RCLICK,当右键点击的时候响应事件。然后来写代码

    void CGhostDlg::OnNMRClickListoline(NMHDR *pNMHDR, LRESULT *pResult)
    {
        LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
        // TODO: Add your control notification handler code here
        CMenu    popup;
        popup.LoadMenu(IDR_MENU);
        CMenu*    pM = popup.GetSubMenu(0);
        CPoint    p;
        GetCursorPos(&p);
        int    count = pM->GetMenuItemCount();
        if (m_list_oline.GetSelectedCount() == 0)       //如果没有选中
        { 
            for (int i = 0; i < count; i++)
            {
                pM->EnableMenuItem(i, MF_BYPOSITION | MF_DISABLED | MF_GRAYED);          //菜单全部变灰
            }
    
        }
        pM->TrackPopupMenu(TPM_LEFTALIGN, p.x, p.y, this);
        *pResult = 0;
    }

    接下来看效果。

    接下来我们来完成菜单栏的功能函数。

    我们依次添加响应事件即可。

  • 相关阅读:
    安装高版本的docker
    Apache JMeter汉化手册
    安装python包
    Jmeter Cluster
    doc下设置永久环境变量的好方法
    jmeter非常好的博客收藏
    mysql-学习链接
    python 脚本
    常见python快捷键
    2015年心情随笔--周围太烦躁,我想静静
  • 原文地址:https://www.cnblogs.com/killbit/p/5093484.html
Copyright © 2011-2022 走看看