表格宽度自动适应表格内容的研究(VB6.0)
来源:互联网 发布:google 人工智能框架 编辑:程序博客网 时间:2024/05/19 07:09
表格宽度自动适应表格内容的研究(VB6.0)
声明:Vbird(2008-8-14)原创,转载请注明作者与原文链接
原文链接:http://hi.baidu.com/transteel/blog/item/7e7c34c409e7deaf8326ac74.html
0 引言
经常需要从数据库或者其他文件中将数据显示到网格控件中(如MSHFlexGrid),但是却发现这些网格控件没有自动调整宽度的功能(至少我在其属性中找很久没找到)。这个功能的缺失将给编写程序者带来不小的麻烦,势必会造成网格空间的浪费或者是数据内容显示不全的现象发生。本文主要研究如何使网格控件宽度自动适应内容的问题。
1 方法介绍
1.1 Label控件
从学VB6开始就接触了Label控件,对该控件的熟悉程度毋容置疑,本文所讨论的方法既是利用该控件完成。
Label控件的AutoSize属性可以使Label自动适应其Caption属性中字符的大小,在编写程序时,可以将AutoSize属性设为True,从而使Label具有自适应的能力。
1.2 MSHFlexGrid控件
MSHFlexGrid控件是一个很好用的表格控件,拥有强大的功能、众多的属性,可以根据需要设置,这里不再详述,只说明一下其控制网格宽度的属性,即ColWidth。
例如,需要设置MSHFlexGrid第一列的宽度为500,则可以使用下面的语句:
MSHFlexGrid1.ColWidth(0)=500
注意,MSHFlexGrid的第一列的Index为0,第一行的Index为0,这个需要特别留心,特别是从Excel读入数据时,需要一定的转换,否则可能出现数据读入错误的表格的情况发生。
1.3 Label与MSHFlexGrid的结合
本小节具体讨论如何用Label控件使MSHFlexGrid具有自适应的能力。
1)新建MSHFlexGrid1和Label1,将Label1的AutoSize属性设为True,Label1的Visibel属性设为False。
2)从文件中读入数据(如何设置MSHFlexGrid1以及读入代码不再详述),在将数据读入网格的同时也将数据读入标签(即将Label1的Caption属性设为数据)。
3)判断当前列的宽度是否小于Labe1的宽度,如果是,则将其宽度设为Label1的宽度,即
if MSHFlexGrid1.ColWidth(0)<Label1.width then MSHFlexGrid1.ColWidth(0)=Label1.width 。
4)以此类推,实现每一列的宽度的自动适应。
2 缺点与优化
2.1 缺点
由于需要将所有数据都要放到Label1的Caption中,代码运行效率将大大降低
2.2 优化
可以建立数组,记录每一列的最大宽度(即Label1的最大宽度),在程序将所有数据读入后再修改网格的宽度,这样可以提高其运行效率。
3 工程实例
编写过一个小程序,其中用到了该方法,其链接是:
http://hi.baidu.com/transteel/blog/item/0472a03ef1274c3b70cf6cff.html
4 结语
数据库功能是VB6.0一个强大的功能,相信如果充分利用可以编写出喊好的数据库处理软件,本文讨论的问题是一个小技巧,希望能给各位朋友以帮助,起到抛砖引玉的作用。
- 表格宽度自动适应表格内容的研究(VB6.0)
- html 使表格随着内容自动适应宽度
- html 使表格随着内容自动适应宽度
- html 使表格随着内容自动适应宽度
- html 使表格随着内容自动适应宽度
- html 使表格随着内容自动适应宽度
- CSS让表格宽度适应内容
- 让文字自动适应表格宽度(CSS)
- dwz.js表格自动适应宽度
- dwz table表格自动适应宽度
- 在WEB页面中根据分辨率自动调整内容宽度,以适应表格宽度
- 【随记】JQuery实现表格的双击编辑功能(自动适应表格高度和宽度)
- jtable 根据内容自动调整表格宽度
- 表格固定宽度时,内容自动换行
- 如何让网页适应所有的屏幕宽度+表格根据内容自适应
- table中表格内的内容自动换行不改变表格宽度
- MFC Listctrl 表格宽度自适应(根据表格内容长度)
- bootstrap表格如何固定宽度或者自适应内容的宽度
- setjmp与longjmp 用法之一
- JavaScript常用语句
- 用javascript获取地址栏参数
- javascript中动态绑定带参数的函数
- 如何画ER图
- 表格宽度自动适应表格内容的研究(VB6.0)
- 几道c语言的题目
- javascript做的高亮效果
- 删除文件bat
- 同步与异步置复位的区别
- VC++ 编写软件的使用期限
- 写得蛮好的linux学习笔记
- 系统学习Linux的11点建议
- 工作心得