zoukankan      html  css  js  c++  java
  • CListCtrl 之右键菜单

    在使用CListCtrl时要为它添加一个右键菜单,步骤如下:

    1. 响应CListCtrl的NM_RCLICK消息。

    2. 添加一个菜单资源,在菜单资源中插入要添加到菜单内容。

     CListCtrl添加右键菜单 - ♂『風』De 影子 - 風~~吹过~~~~

    一般存在两种方法:

    一、

    void CListCtrlDlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult)

    {

    CPoint point;

    ::GetCursorPos(&point);

    CMenu menu;

    VERIFY(menu.LoadMenu(IDR_MENU1));      //IDR_MENU_POPUP是新建菜单ID

    CMenu* popup=menu.GetSubMenu(0);

    ASSERT(popup!=NULL );

    popup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON, point.x, point.y, this );

    *pResult = 0;

    }

    //***这时在listctrl的任何位置右键都会出现右键菜单

    二、

     void CTest6Dlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult)
          {
               NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
               if(pNMListView->iItem != -1)
               {
                    DWORD dwPos = GetMessagePos();
                    CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
       
                    CMenu menu;
                    VERIFY( menu.LoadMenu( IDR_MENU1 ) );
                    CMenu* popup = menu.GetSubMenu(0);
                    ASSERT( popup != NULL );
                    popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this );
               }
               *pResult = 0;
      }

    //***这时只有listctrl存在选中项目的时候才会出现右键菜单

  • 相关阅读:
    增加Tomcat内存大小
    JAVA中的JSON
    js判断中文字符长度
    2016总结
    JavaScript 字符串实用常用操作
    Java文件操作
    hadoop中hbase出现的问题
    static_cast静态类型转换指针导致Release程序随机崩溃报错
    解决: error C2236: 意外的标记“class”。是否忘记了“;”?
    游戏操作杆代码
  • 原文地址:https://www.cnblogs.com/rainbowzc/p/3427970.html
Copyright © 2011-2022 走看看