TreeView如何进行右键选择

莫认的TreeView是左键选择,比较不习惯。在网上找了半天也没找到右键选择的例子。只好自己写吧。

 

1,首先截取右键NOTIFY消息。

 

NOTIFY_CODE_HANDLER(NM_RCLICK, OnTreeViewRBtnClick)

 

2,先要获得右键所点的Item。再选中这个Item,需要的话显示一个右键菜单。

 

 LRESULT OnTreeViewRBtnClick(int /*idCtrl*/, LPNMHDR pnmh, BOOL& /*bHandled*/)
 {
  DWORD pos = GetMessagePos();
  POINT pnt;
  pnt.x = GET_X_LPARAM(pos);
  pnt.y = GET_Y_LPARAM(pos);

  m_treeview.ScreenToClient(&pnt);

  HTREEITEM item = m_treeview.HitTest(pnt, NULL);

  if(item == NULL)
   return 0;


  TreeView_SelectItem(m_treeview, item);

//show a context menu

  CMenu menu;
  menu.LoadMenu(IDR_MENU1);
  CMenu contextmenu = menu.GetSubMenu(0);

  m_CmdBar.TrackPopupMenu(contextmenu,TPM_LEFTBUTTON|TPM_RIGHTBUTTON, GET_X_LPARAM(pos), GET_Y_LPARAM(pos)); 
  return 0; 
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值