kingxy 发表于 2009-11-30 18:18:44

树形控件展开后设置焦点到子项,如何让焦点显示在可见范围?

本帖最后由 kingxy 于 2009-12-6 21:19 编辑

建立了一个树形控件,子项目若干。
在用ControlTreeView ($Form, "", ControlGetHandle($Form, "", $treeview), "Expand", "子项目1")命令挨个展开子项目后,使用GUICtrlSetState($item1, $GUI_FOCUS)命令将焦点设置在"子项目1"上,$item1为子项目1的控件ID,$treeview为树形控件的控件ID,$Form为主窗口控件ID。
这时,由于子项目太多,导致需要使用树形控件右侧滑块上下滑动才能浏览到其他子项目。问题是设置焦点后,只能使用滑块才能看到所设置了焦点的“子项目1”,我想问的是,使用什么方法才能在设置焦点到“子项目1”上后,自动在树形控件可见范围内可以看到设置了焦点的“子项目1”?
   谢谢。

解决方法:
根据131738朋友的提示,使用_GUICtrlTreeView_EnsureVisible 函数可以解决该问题。
在此附上!谢谢。

kingxy 发表于 2009-12-6 12:56:06

哪位帮助一下?

netegg 发表于 2009-12-6 18:37:55

_GUICtrlTreeView_SetFocused

131738 发表于 2009-12-6 18:41:38

_GUICtrlTreeView_EnsureVisible

kingxy 发表于 2009-12-6 21:16:28

_GUICtrlTreeView_EnsureVisible
131738 发表于 2009-12-6 18:41 http://www.autoitx.com/images/common/back.gif


    非常感谢131738的帮助!
使用你提供的函数,可以成功将目标 树形子项目显示在扩展后的树形控件可见范围内。

   也感谢netegg的热心肠,你提供的函数我也尝试过了。

谢谢!

yanshen33333 发表于 2010-3-5 03:28:30

学习学习。

沙粒 发表于 2015-3-23 11:08:05

回复 5# kingxy

怎么做到的

gwgelin 发表于 2015-4-12 21:28:07

虽然我这简单的回复属于灌水,但也是对楼主莫大的支持
页: [1]
查看完整版本: 树形控件展开后设置焦点到子项,如何让焦点显示在可见范围?