vb 6.0中MSFlexGrid控件如何调整单元格宽度?

2024-05-16 03:19

1. vb 6.0中MSFlexGrid控件如何调整单元格宽度?

vb 6.0中MSFlexGrid控件调整单元格宽度的方法:
1、调整单元格宽度:msflexgrid1.colwidth(2)=600。
2、自动调整宽度:msflexgrid1.colwidth(2)=textwidth(msflexgrid1.textmatrix(1,2))+180。
VB 就是 Visual Basic 的意思,是一种常用的编程开发工具。它的基础是编程语言Basic ,Visual Basic 简单点来说就是微软为了更好的让人们学习编程,应用上 Basic 开发语言的一套工具,简称就是 VB。VB 的面世使原本极其复杂困难的编程、软件开发的工作变得简单。最初的编程工作都是依靠全套的代码去进行的,工程量极大。Microsoft 就是看准了这个人们渴求快速发展软件开发行业的商机,利用自己的技术实力研发出 VB 这么一套完善的编程工具。
VB 把过往的纯代码编程过度到可视化编程,将一些经常要使用到的功能以一个个的控件的形式出现,例如 Label(标签)、TextBox(文本框)等等的。他们在以前的编程工作中需要在使用时重复多次的输入同样的代码去实现这个功能,而这些代码却不是小工程,耗费了很大的人力物力和很多的时间。所以有了 VB 之后,编程的工作也就可以普及啦,可以免去了机械的重复的代码的输入,又可以一面编辑核心功能一面进行界面优化美化,一劳多得啊。
VB 是 Basic 语言软件开发者的首选编译器,是学习 Basic 语言编程必须要接触而且是经常接触的一款整合型技术编译器。

vb 6.0中MSFlexGrid控件如何调整单元格宽度?

2. vb mshflexgrid 请问怎么让字号适应网格大小,谢谢!

使用Label控件和MSHFlexGrid控件结合方法使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的最大宽度),在程序将所有数据读入后再修改网格的宽度,这样可以提高其运行效率。