关于树型框(CtreeCtrl)设置某行高亮、当前选择行的问题

lordor 2004-07-23 12:23:30
正在用一个mfc编一个小东西,碰到这个问题:

我要查找CtreeCtrl内项的内容,找到后,让树型框自动显示找到的项,并让它成为当前选中的项?
现在是无法让它成为当前选中的项。

那位老兄帮忙回答一下
...全文
651 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lordor 2004-07-24
  • 打赏
  • 举报
回复
我搞定了,是列表框的属性设置一下,再用select及focos即可
lordor 2004-07-23
  • 打赏
  • 举报
回复
BLsoft(網龍ζ龍活) 老兄你说的我知道,但这些并不能解决问题
名牌大灰狼 2004-07-23
  • 打赏
  • 举报
回复
1) 树控制的创建

  树控制一般用于对话框程序。创建树控制有两种方法,一种是静态创建,一种是动态创建。静态创建是指拖放控件后声明与之相关的成员变量来操作树控制。在对话框程序界面上拖放一个CTreeCtrl控件,然后通过ClassWizard添加一个CTreeCtrl类型的成员变量并在程序中使用它。动态创建是指在程序中使用Create函数创建树控制对象。本文例子采用静态创建的方法。

  (2) 树控制的属性

  树控制有很多属性操作函数。使用这些函数可以得到树控制的各种属性信息。例如:取得树控制中项数GetCount、取得树控制中项相对于父项的偏移值GetIndent、取得树控制图像列表控制句柄GetImageList等。具体信息可以查看MSDN帮助。

  (3) 数控制的操作

  树控制的操作方法包括插入一个树项InsertItem、删除一个树项DeleteItem、删除所有树项DeleteAllItems、展开或合拢树项的子项Expand、选中特定树项SelectItem、选择一个树项作为第一个可视树项SelectSetFirstVisible、编辑一个可视的树项EditLabel和排序给定父树项的子树项SortChildren等。
名牌大灰狼 2004-07-23
  • 打赏
  • 举报
回复
你都知道怎么还问.只是许多个函数的组合吗.那有一个函数就都能摆平的
liuxianzhi 2004-07-23
  • 打赏
  • 举报
回复
两种方法:
1:
SetItemState( hSelectedItem, TVIS_SELECTED, TVIS_SELECTED );
2:
HTREEITEM item=FindNode(TVI_ROOT,(LPCSTR)(m_FindString));
if(item==NULL)return;
m_Fenlei.EnsureVisible(item);
m_Fenlei.SelectItem(item);

lixiaosan 2004-07-23
  • 打赏
  • 举报
回复
http://www.vckbase.com/document/viewdoc/?id=680
lixiaosan 2004-07-23
  • 打赏
  • 举报
回复
HTREEITEM GetRootItem( );得到根结点。
HTREEITEM GetChildItem( HTREEITEM hItem );得到子结点。
HTREEITEM GetPrevSiblingItem/GetNextSiblingItem( HTREEITEM hItem );得到指明结点的上/下一个兄弟结点。
HTREEITEM GetParentItem( HTREEITEM hItem );得到父结点。
lixiaosan 2004-07-23
  • 打赏
  • 举报
回复
还要用到SetItemState
lixiaosan 2004-07-23
  • 打赏
  • 举报
回复
用GetNextItem遍历树,然后GetItem判断项的内容,如果相同,则SetItem,
设置该项其中标志为TVIS_SELECTED ,并expand该项

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧