zoukankan      html  css  js  c++  java
  • 如何给CTreeCtrl 添加右键菜单

    首先定义右键消息函数:

        afx_msg  void  OnRBClick(NMHDR* pNMHDR, LRESULT* pResult);    

        然后在消息循环中定义消息对应关系:

        ON_NOTIFY(NM_RCLICK, ID_TREECTRL, OnRbClick)

        接着定义消息函数内容:

        void OnRBClick(NMHDR* pNMHDR, LRESULT* pResult)

        {

               CPoint point;

               GetCursorPos(&point);

               CPoint pointInTree = point;

               m_TreeCtrl.ScreenToClient(&pointInTree);

               HTREEITEM item;

               UINT flag = TVHT_ONITEM;

               item = m_TreeCtrl.HitTest(pointInTree, &flag);

               if(item != NULL)

               {

                      m_TreeCtrl.SelectItem(item);

                      CMenu menu;

                      menu.LoadMenu(IDR_MENU1);

                      menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN | 

                                 TPM_RIGHTBUTTON, point.x, point.y, this, NULL);

               }

        }


  • 相关阅读:
    vsftpd原理与搭建
    vsftpd的日志格式
    ftp内置命令
    tcp_tw_reuse、tcp_tw_recycle和tcp_timestamps
    http_code 499、500、502、503、504
    mtr命令网络诊断
    tracert——Windows路由追踪
    linux GPT分区及扩容
    Linux磁盘扩容
    linux磁盘分区、挂载
  • 原文地址:https://www.cnblogs.com/myitm/p/2091446.html
Copyright © 2011-2022 走看看