您的位置:首页 > 其它

如何给CTreeCtrl 添加右键菜单

2009-08-24 11:35 211 查看
如何给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);

}

}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: