C++ CTreeCtrl控件 铺展
C++ CTreeCtrl控件 展开
麻烦问哈CTreeCtrl在点击左边的展开按钮(左边的十字箭头)时,怎么知道展开的是哪一项,并获得这项的指针?
------解决方案--------------------
参考MSDN98\SAMPLES\VC98\MFC\GENERAL\CMNCTRL1\MTREECTL.CPP ?
------解决方案--------------------
给树添加 NM_CLICK 事件
void XXXXDlg::OnNMClickTreeResult(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: Add your control notification handler code here
NM_TREEVIEW* pHdr = (NM_TREEVIEW*)pNMHDR;
*pResult = 0;
CPoint point;
UINT uFlag;
GetCursorPos(&point);
ScreenToClient(&point);
HTREEITEM item = m_ctrlTree.HitTest(point, &uFlag);
if((item) && (TVHT_ONITEMSTATEICON & uFlag))
{
BOOL bCheck = m_ctrlTree.GetCheck(item);
//............
}
}
麻烦问哈CTreeCtrl在点击左边的展开按钮(左边的十字箭头)时,怎么知道展开的是哪一项,并获得这项的指针?
C++ CTreeCtrl控件 展开
------解决方案--------------------
参考MSDN98\SAMPLES\VC98\MFC\GENERAL\CMNCTRL1\MTREECTL.CPP ?
------解决方案--------------------
给树添加 NM_CLICK 事件
void XXXXDlg::OnNMClickTreeResult(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: Add your control notification handler code here
NM_TREEVIEW* pHdr = (NM_TREEVIEW*)pNMHDR;
*pResult = 0;
CPoint point;
UINT uFlag;
GetCursorPos(&point);
ScreenToClient(&point);
HTREEITEM item = m_ctrlTree.HitTest(point, &uFlag);
if((item) && (TVHT_ONITEMSTATEICON & uFlag))
{
BOOL bCheck = m_ctrlTree.GetCheck(item);
//............
}
}