zoukankan      html  css  js  c++  java
  • vS2010 列表控件 加入右键菜单


    1、首先,就需要信息加入权限控制,例如,下面的对话框弹出




    2,例如以下图选择须要的消息响应,这里选择NM_RCLICK 消息。


    3,加入例如以下代码

    </pre><pre name="code" class="cpp">void CasteroidDlg::OnNMRClickRemotehostList(NMHDR *pNMHDR, LRESULT *pResult)
    {
    	LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
    	// TODO: Add your control notification handler code here
    
    
    	CPoint ScreenPt;
    	GetCursorPos(&ScreenPt);
    
    
    	CMenu m_Menu;
    	m_Menu.LoadMenu(IDR_POP_MENU);
    	CMenu* pPopup = m_Menu.GetSubMenu(0);//装载第一个子菜单。即我们菜单的第一列
    
    
    
    
    	//假设单击的是空白或切割线,就运行
    	if(pNMItemActivate->iItem == -1)
    	{
    		//无选择或者没有肉鸡。则右键变灰不能用
    		pPopup->EnableMenuItem(ID_MENU_FILE, MF_GRAYED);
    		pPopup->EnableMenuItem(ID_MENU_TERMINAL, MF_GRAYED);
    		pPopup->EnableMenuItem(2, MF_BYPOSITION | MF_GRAYED); //MF_BYPOSITION 相应序号
    	}
    
    
    	pPopup->TrackPopupMenu(TPM_LEFTALIGN, ScreenPt.x, ScreenPt.y, this);//弹出菜单
    
    
    
    
    	*pResult = 0;
    }


    4,结果例如以下:


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    QT Launching Debugger 卡住
    VS无法打开源文件"stdio.h"
    QT 5.15 https 无法访问 TLS initialization failed
    .Net 添加第三方控件
    XML解析——DOM解析
    javascript——对象
    SQL Server 合并表 union 和union all
    深入理解HTTP
    HTTP详解(3)-http1.0 和http1.1 区别
    HTTP详解(2)
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4828013.html
Copyright © 2011-2022 走看看