Database 版 (精华区)
发信人: mengy (LEAR DLLS 命令时,将从内存中清除), 信区: Database
标 题: TreeView控件在VFP6.0中应用的完善
发信站: 哈工大紫丁香 (2000年12月06日20:08:40 星期三), 站内信件
TreeView控件在VFP6.0中应用的完善
(一)在VFP6.0中使用 Treeview 和 Listview ActiveX 控件时存在一些问题。例
如,找不到 ImageList 控件所关联的图形。为什么会出现这种情况?
答案: 此问题的症结在于您所安装的 Comctl32.ocx 文件的版本。如果
Windows\System 目录下已注册的 Comctl32.ocx 或 Mscomctl.ocx 文件的日期比
96 年 8 月 21 日更新,即它们是 Visual FoxPro 6.0 中的新版本,则您将无法
通过“属性”页面将 ImageList 控件与 Treeview 或 Listview 控件关联。解决
的办法是人工将如下的代码加入到控件的 Init 事件中:
ex. Treeview Init
this.object.ImageList=thisform.imagelist1.object
&& imagelist1=imagelist object
ex. Listview Init
this.object.Icons=thisform.imagelist2.object
&& imagelist2=imagelist object
this.object.SmallIcons=thisform.imagelist3.object
&& imagelist3=imagelist object
以下内容也适用于使用 96 年 8 月 21 日以后注册的 Comctl32.ocx 文件:
如果有一个表单 (.scx) 或类(.vcx) 容器中包含有使用了 ImageList 控件的
TreeView 或 ListView 控件,并且该表单或类保存时使用的是 96 年 8 月 21 日
的 Comctl32.ocx 文件(即 Visual FoxPro 5.0 中所带的版本),则该表单或类
将可以在 Comctl32.ocx 的任何版本下运行,因此具有完整的向前兼容性。
如果创建并/或保存了一个表单或类,其中使用了 Comctl32.ocx 中的控件,而且
你的 Comctl32.ocx 文件日期在 96 年 8 月 21 日以后,则修改或运行该表单或
类时,就需要相同的 Comctl32.ocx 版本或更新版本。新版的 Comctl32.ocx 只有
向前兼容性,而不具有向后兼容性。
(二) Treeview 或 Listview ActiveX 控件在载入项目时很慢,是否有方法改进
?
答案: 在装入 TreeView 或 ListView 控件时,请加以下逻辑语句:
treeview.Visible=.F.
treeview.Top=treeview.Top+9999
<add your code here to populate treeview here>
treeview.Top=treeview.Top-9999
treeview.Visible=.T.
通常这可以使载入速度提高一倍,主要是由于控件不会再为每一个节点刷新其用户
界面。
--
大海无边天做岸
山登绝顶我为风
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.227.121]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.275毫秒