首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么实现,当鼠标经过树的节点上时,显示被选中的效果。推荐个例子

2012-02-10 
如何实现,当鼠标经过树的节点上时,显示被选中的效果。推荐个例子。如题。当鼠标移动或者用户选择的时候,给树

如何实现,当鼠标经过树的节点上时,显示被选中的效果。推荐个例子。
如题。当鼠标移动或者   用户选择的时候,给树节点的文字添加一个蓝色背景和边框效果。怎么实现,给个例子

[解决办法]
ON_NOTIFY(TVN_SELCHANGED, IDC_MYTREECTRL, OnSelchangedTree)

是要响应这个吗? 点一下就选中了 然后在这个函数里加你的东西吧。

如果你要移动不点就直接判断 那你要在move鼠标的函数里
*pResult = 0;
CPoint ptCursor;
::GetCursorPos(&ptCursor);
CPoint ptTmp = ptCursor;
m_wndTree.ScreenToClient(&ptCursor);
UINT uFlags;
HTREEITEM hCurSelItem =m_wndTree.HitTest(ptCursor, &uFlags); //判断这个点是不是在条目上!!!!!
if ((hCurSelItem != NULL) && (TVHT_ONITEM&uFlags))
{
hCur=m_wndTree.HitTest(ptCursor, &uFlags);
m_wndTree.SelectItem(hCurSelItem);
CMenu menuPopup;
menuPopup.LoadMenu(IDR_MAINFRAME);
CMenu* pSubMenu = menuPopup.GetSubMenu(3);
pSubMenu-> TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,ptTmp.x,ptTmp.y,this);
}

if内写的是弹出右击菜单 前面那段是判断是否鼠标在item节点上
所以你只要在if里添加 你取得的当前的节点 然后换颜色就可以了

热点排行