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毫秒