一个有关问题:SkinSharp Tree的右键菜单怎么实现啊
请教大家一个问题:SkinSharp Tree的右键菜单如何实现啊,在线等!
如题,
添加右键响应函数,可以弹出右键菜单,但是对菜单上的项添加响应函数,却没反应,希望高手能帮助一下,感谢!!
void CDemoDlg3::OnRclickTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CTreeCtrl* pTreeCtrl = (CTreeCtrl*)GetDlgItem(IDC_TREE1);
CMenu popup;
popup.LoadMenu(IDR_MENU2);
CMenu* pMenu = popup.GetSubMenu(0);
CPoint p;
GetCursorPos(&p);
int count = pMenu->GetMenuItemCount();
pMenu->TrackPopupMenu(TPM_LEFTALIGN, p.x, p.y, pTreeCtrl);
*pResult = 0;
}
------解决方案--------------------
pMenu->TrackPopupMenu(TPM_LEFTALIGN, p.x, p.y, pTreeCtrl);
--》
pMenu->TrackPopupMenu(TPM_LEFTALIGN, p.x, p.y, this);
这里你指定的父窗口类是pTreeCtrl,菜单响应WM_COMMAND是发给父窗口类,所以你必须在pTreeCtrl对象关联的类中去处理。我猜你的菜单命令响应函数是写在CDemoDlg3类中吧
如题,
添加右键响应函数,可以弹出右键菜单,但是对菜单上的项添加响应函数,却没反应,希望高手能帮助一下,感谢!!
void CDemoDlg3::OnRclickTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CTreeCtrl* pTreeCtrl = (CTreeCtrl*)GetDlgItem(IDC_TREE1);
CMenu popup;
popup.LoadMenu(IDR_MENU2);
CMenu* pMenu = popup.GetSubMenu(0);
CPoint p;
GetCursorPos(&p);
int count = pMenu->GetMenuItemCount();
pMenu->TrackPopupMenu(TPM_LEFTALIGN, p.x, p.y, pTreeCtrl);
*pResult = 0;
}
------解决方案--------------------
pMenu->TrackPopupMenu(TPM_LEFTALIGN, p.x, p.y, pTreeCtrl);
--》
pMenu->TrackPopupMenu(TPM_LEFTALIGN, p.x, p.y, this);
这里你指定的父窗口类是pTreeCtrl,菜单响应WM_COMMAND是发给父窗口类,所以你必须在pTreeCtrl对象关联的类中去处理。我猜你的菜单命令响应函数是写在CDemoDlg3类中吧