电动车电机价格及图片:VC中如何实现鼠标单击树形控件节点操作

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/06 06:50:38

BOOL bCheck;
TVHITTESTINFO ht;//一个区域范围

GetCursorPos(&ht.pt);//获得区域范围内的光标
m_tree1.ScreenToClient(&ht.pt);//将鼠标的屏幕坐标,转换成树形控件的客户区坐标
ht.flags = TVHT_ABOVE;

//获取鼠标点击的节点的消息
HTREEITEM hItem = m_tree1.HitTest(&ht);
if (hItem == NULL)
{
return;
}

HTREEITEM hRoot = m_tree1.GetRootItem();

//选中的checkbox
if (ht.flags & TVHT_ONITEMSTATEICON)//如果点击的位置是在节点位置上面
{
//根节点
if (hItem == hRoot)
{
bCheck = m_tree1.GetCheck(hRoot);
//根节点被选中
if (!bCheck)
{
hItem = m_tree1.GetChildItem(hRoot);
while (hItem != NULL)
{
m_tree1.SetCheck(hItem, TRUE);
hItem = m_tree1.GetNextItem(hItem,TVGN_NEXT);
}
}
else
{
hItem = m_tree1.GetChildItem(hRoot);
while (hItem != NULL)
{
m_tree1.SetCheck(hItem, FALSE);
hItem = m_tree1.GetNextItem(hItem, TVGN_NEXT);
}

}
}

}