
首先打开树控件的属性对话框,添加单击事件如下图 *** 作,
,以上 *** 作会自动向工程中添加单击处理函数如下:
void CXXXXXX::OnNMClickTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
CPoint Pos
::GetCursorPos(&Pos) //获取鼠标点击的位置坐标
CPoint pt(Pos)
m_Treectrol.ScreenToClient(&pt) //有屏幕坐标转成 控件坐标(树控件的客户区坐标)
HTREEITEM hSelItem = m_Treectrol.HitTest(pt) //通过HitTest获取单击的子项
CRect rec
m_treeTaskRule.GetItemRect(hSelItem, &rec, TRUE)
if (hSelItem != 0 )//&& rec.PtInRect(pt) //判断是否单击到子项(注释掉的代码为是否点击到子项区域一般是其文字显示区域)
{
m_Treectrol.SelectItem(hSelItem) //选中点击项
// add your code
}
*pResult = 0
}
tree control控件就是树形控件在树形控件中每一个结点都有一个句柄(HTREEITEM),同时添加结点时必须提供的参数是该结点的父结点句柄,利用 HTREEITEM InsertItem( LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST )可以添加一个结点,pszItem为显示的字符,hParent代表父结点的句柄,当前添加的结点会排在hInsertAfter表示的结点的后面,返回值为当前创建的结点的句柄欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)