VB 控件 MSFlexGrid如何改变各列的宽度啊?每列都 不一样

VB控件MSFlexGrid如何改变各列的宽度啊?每列都不一样。就像我上传的图片一样,图片上我是用Line画出来的。或... VB 控件 MSFlexGrid如何改变各列的宽度啊?每列都 不一样。
就像我上传的图片一样,图片上我是用Line画出来的。
展开
 我来答
向阳而生9053
2011-04-15 · TA获得超过152个赞
知道小有建树答主
回答量:148
采纳率:0%
帮助的人:170万
展开全部
MSFlexGrid控件属性及使用方法整理

=================================================

MSFlexGrid总行数和总列数的定义:

MSFlexGrid1.Rows = 5 '规定表格的总行数为5行

MSFlexGrid1.Cols = 2 '规定表格的总列数为2行

MSFlexGrid某一单元格的文本内容

MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”

MSFlexGrid1.TextMatrix(3, 2) ="u3u3.com.cn " 定义第3行第2列的文本内容为:“u3u3.com.cn”

右键选中MSFlexGrid的

Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

If Button = vbRightButton Then

MSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5

MSFlexGrid1.RowSel = MSFlexGrid1.Row

'右键选种当前行---备用u3u3:

'MSFlexGrid1.Col = 0

'MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1

'右键选种当前单元格---备用u3u3:

'MSFlexGrid1.Col = x / MSFlexGrid1.ColWidth(0) - 0.5

'MSFlexGrid1.Col = MSFlexGrid1.Col

'Text1.Text = MSFlexGrid1.Text

End If

End Sub

MSFlexGrid的单元格被点击时的事件

Private Sub MSFlexGrid1_EnterCell()

MSFlexGrid1.CellBackColor = vbBlue '被点中MSFlexGrid的单元格背景变兰色

MSFlexGrid1.CellForeColor = vbWhite '字体变白色

End Sub

MSFlexGrid的单元格失去光标后的事件

Private Sub MSFlexGrid1_LeaveCell()

MSFlexGrid1.CellBackColor = vbWhite

MSFlexGrid1.CellForeColor = vbBlue

End Sub

使MSFlexGrid的单元格内容可编辑

'前提:新建两个text文本框,分别为text1和text1

'====================从这里开始,使单元格可以编辑

Private Sub MSFlexGrid1_EnterCell()

MSFlexGrid1.CellBackColor = vbBlue

MSFlexGrid1.CellForeColor = vbWhite

Text1.Text = MSFlexGrid1.Text

Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text)

End Sub

Private Sub MSFlexGrid1_LeaveCell()

MSFlexGrid1.CellBackColor = vbWhite

MSFlexGrid1.CellForeColor = vbBlue

End Sub

Private Sub Text1_Change()

MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col) = Text1.Text

End Sub

Private Sub Text2_Change() '修改表头

Dim r, c As Integer

r = MSFlexGrid1.Row

c = 0

MSFlexGrid1.TextMatrix(r, 0) = Text2.Text

End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

Select Case KeyCode

Case vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDown

KeyCode = 0

End Select

End Sub

'====================使单元格可以编辑,到此结束

MSFlexGrid选中整行和整列

右键点 MSFlexGrid控件,选“属性/样式”,把“合并单元格”选择为:“0 - Never”然后运行程序,就会发现MSFlexGrid可以自由选择整行或整列了!u3u3.com.cn

MSFlexGrid插入行

Private Sub Command1_Click()

If MSFlexGrid1.Rows < 2 Then

MSFlexGrid1.AddItem "AAA" & vbTab & "bbb"

Else

MSFlexGrid1.AddItem "asdas" & vbTab & "bbb", 2 '这里的数字2表示在第2行处插入行

End If

End Sub

MSFlexGrid删除行

MSFlexGrid1.RemoveItem 3 '删除第三行。该方法无法删除第一行。如果发现删不了。那一定是你的其他代码写错或冲突了u3u3

复制MSFlexGrid单元格的文本内容

Clipboard.SetText MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col)

以上内容由u3u3编写测试转载请注明来自:www.u3u3.com.cn

===================================================

以下内容来自网络

MSFlexGrid属性类型说明

AllowBigSelectorBoolean返回/设置一个值,定义当在行或列的头部单击时,是否该行或列将整个被选中

AllowUseResizingEnum设置/返回一个值,定义用户是否可以调整网格行,列的尺寸

BackColorOle_Color设置/返回一网格中非固定单元的背景色

BackColorBandArray/Ole_Color设置/返回网格中每个独立BAND的背景色

BachColorBkgOle_Color设置/返回网格的背景色(单元头部除外)

BackColorFixedOle_Color设置/返回网格中固定单元的背景色

BackColorHeaderArray/Ole_Color设置/返回网格头部单元的背景色

BackColorIndentArray/Ole_Color设置/返回网格中凹痕部分的背景色

BackColorSelOle_Color设置/返回网格选中单元的背景色

BackColorUnpopulatedOle_Color设置/返回网格非用户操作区的背景色

BandDataArray/Long为独BAND设置/返回任意的值,以合在代码中通过这些值确定BAND

BandDisplayEnum定义在网格中BAND是水平还是垂直显示

BandExpandableARRAY/BOOLEN设置/返回值指明独立的BAND能否被折叠或展开

BandIndentArray/Long定义BAND划分的字段数量

BandLevelLong返回当前的单元包含的BAND总数量

BandsLong返回网格中BAND总数量

CellAlignmentInteger设置/返回一个值以定义当前单元的水平和垂直对齐方式

CellBackColorOle_Color定义当前单元的字体是否为粗体

CellFontBoldBoolean定义当前单元的字体是否为粗体

CellFontItalicBoolean定义当前单元的字体是否为斜体

CellFontNameString定义当前单元的字体名

CellFontSizeString定义当前单元的字体大小

CellFontStrikeThoughBoolean定义当前单元的字体是否为突显示

CellFontUnderlineBoolean定义当前单元的字体是有下划线

CellFontWidthSingle定义当前单元的字体宽(用点表示)

CellFontColorOle_Color设置/返回当前单元格的前景色

CellHeightLong设置/返回当前单元格的高度

CellLeftLong返回当前单元格的左边距

CellPictureStdPicture设置/返回当前单元格的图片

CellPictureAlignmentInteger设置/返回当前单元格或某范围的单元格的图像对齐方式

CelltextStyleEnum设置/返回当前单元或选中范围单元文本的3D风格

CellTopLong返回当前单元格的垂直位置

CellTypeEnum设置/返回当前单元格的类型(标准.固定)

CellWidthLong返回/设置当前的单元的宽度

ClipString设置/返回网格选定范围单元的内容

ColArray/Integer设置/返回当前单元的水平坐标

ColAlignmentArray/Integer设置/返回当前列的对齐方式

ColalignmentBandArray/Integer设置/返回BAND数据列的对齐方式

ColAlignmentFixed Array/Integer设置/返回固定单元数据的对齐方式

ColAlignmentHeaderArray/Integer设置/返回固定头部单元数据的对齐方式

ColDataAyyay/Long为独立列设置/返回任意的值,以合在代码中通过这些值确定列

ColHeaderArray/Enum定义每个BAND头部是否显示

ColHeaderCaptionArray/Single定义每个BAND的列头部显示的文本

ColIsVisibleARRAY/BOOLEN返回/设置某个列是否可见

ColPosArray/Long返回某个给定列的左上角和网格左上角的距离

ColpositionArray/Long设置网格列的位置

ColsLong返回/设置网格的列数量

ColSelArray/Long设置/返回某个范围单元的起始列

ColWidthArray/Long设置/返回某个列的宽度

ColWordWrapOption Array/Integer设置/返回网格的非固定单元是否允许WRAP

ColWordWrapOptionBandArray/Integer定义网格的BAND是否允许WRAP

ColWordWrapOptionFixedArray/Integer定义列的固定单元是否允许WRAP

ColWordWrapOptionHeaderArray/Integer定义各头部是否允许WRAP

DataFieldArray/Single一个独立列绑定的数据库字段

FillStyleEnum定义改变文本或单元的其他属性是影响所有的选中单元还是只影响活动单元

FixedColsLong设置/返回固定列的列数

FixedRowsLong设置/返回固定行的行数

FocusRectEnum定义控件对当前单元的焦点表示

FontStdFont返回/设置默认字体或各单元使用的字体

FontBandArray/StdFont设置/返回各BAND使用文本的字体

FontFixedSingle设置/返回固定单元使用的字体

FontHeader Array/StdFont设置/返回各头部使用的字体

FontWidthSingle设置/返回默认字体宽度

FontWidthBandArray/Single设置/返回BAND使用的字宽

FontWidthFixedSingle设置/返回固定单元使用的字宽

FontWidthHeaderArray/Single设置/返回每个头部使用的字宽

ForeColrOle_Color设置/返回网格非固定单元使用的前景色

ForeColorBandArray/Ole_Color设置/返回网格各BAND的前景色

ForeColorFixedOle_Color设置/返回网格固定单元的前景色.

ForeColorHeaderArray/Ole_Color设置/返回网格头部单元的前景色

ForeColorSelOle_Color设置/返回设置单元的前景色

FormatStringString定义一个格式串用来设置网格列的宽度,对齐方式,固定行文本固定列文本

GridColorOle_Color设置/返回网格单元间的线的颜色

GridColorBandArray/Ole_Color设置/返回网格BAND的线的颜色

GridColorFixedOle_Color设置返回网格固定单元间的线的颜色

GridColorHeaderArray/Ole_Color设置/返回网格头部间的线的颜色

GridColorIndentOle_Color设置/返回网格INDENT单元间的线的颜色

GridColorUnpopulatedOle_Color设置/返回网格UNPOPULATED区域间的颜色

GrigLineEnum定义网格单元间的线的类型

GrigLinesBandArray/Enum定义网格各BAND间的线的类型

GrigLinesFixedEnum定义网格固定单元的线的类型

GrigLinesHeaderArray/Enum定义网格各头部间的线的类型

GrigLinesIndentArray/Enum定义网格INDENT单元间的线的类型

GrigLinesUnpopulatedEnum定义网格UNPOPULATED区域间的线的类型

GrigLinesWidthInteger设置/返回网格单元间的线的宽度

GrigLinesWidthBandArray/Integer设置/返回网格各BAND间的线的宽度

GrigLinesWidthFixedInteger设置/返回网格固定单元间的线的宽度

GrigLinesWidthHeaderArray/Integer设置/返回网格各头间的线的宽度

GrigLinesWidthIndentArray/Integer设置/返回网格INDENT单元间的线的宽度

GrigLinesWidthUnpopulatedInteger设置/返回网格UNPOPULATED区域间的宽度

HieghtEnum定义如何以及何时高亮度显示网格的选中单元

LeftColLong网格最械的可见列

MergeCellsEnum设置/返回一个值表明如何及何时将有相同内容的记录进行合并

MergeColARRAY/BOOLEN设置/返回一个值表明哪些列可以将内容合并

MergeRowARRAY/BOOLEN设置/返回一个值表明哪些行可以将内容合并

MouseColLong返回鼠标光标的列坐标位置

MouseRowLong返回鼠标光标的行坐标位置

PictureStdPicture返回MSHFLEXGRID的控件快照

PictureTypeEnum设置/返回PICTURE类型

RedrawBoolean设置/返回一个值,表明MSHFLEXGRIDR控件是否在每个改变后重画

RowLong设置/返回当前单元的垂直坐标

RowDataArray/Long为各行设置/返回任意的值,以合在代码中通过这些值确定行

RowExpandableBoolean定义当前行是否可以展开

RowExpandedBoolean返回一个值表明当前行是否展开

RowHeightArray/Long设置/返回各行的高度

RowHeightMinLong设置/返回网格中行的最小高度

RowIsVisibleARRAY/BOOLEN设置/返回一个值,表明某个特定列是否可见

RowPosArray/Long返回给定行左上角和MSHFLEXGRID控件左上角的距离

RowPositionArray/Long设置某个网格行的位置

RowsLong返回网格的行的总数或者或BAND的行的总数

RowSelLong设置/返回一个范围的单元的起始行

RowSizingModeEnum设置/返回一个值表明对一行的设置是影响网格的所有行还是只影响被调整的行

ScrollBarsEnum设置/返回一个值表明MSHFLEXGRID控件的滚动条类型

ScrollTrackBoolean设置/返回一个值表明网格内容是在用户移动滚动条时随着改变还是滚动结束后改变

SelectionModeEnum设置/返回一个值表明MFHFLEXGRID控件允许的选择类型.

SortEnum根据某些村准备设置排序的值

TextString设置/返回一个单元或一个范围内单元的文本内容

TextArrayarray/string不改变ROW,COL属性,设置/返回任意单元的文本内容

TextMatrixarray/string设置/返回某个选定行,列的单元的文本内容

TextStyleEnum设置/返回网格通常单元的3D文本风格

TextStyleBandArray/Enum设置/返回网格BAND的3D文本风格

TextStyleFixedEnum设置/返回网格各固定行的3D文本风格

TextStyleHeaderArray/Enum设置/返回网格各头部的3D文本风格

TopRowLong设置/返回网格最上面的可见行

VersionInteger返回正在使用MSHFLEXGRID控件的版本

WordWrapBoolean定义当到达单元的边界时,网格的单元的内容是否WRAP

2) MSHFLEXGRID控件的重要方法

方法说明

AddItem向网格中加入一新行

Clear清除网格中的内容

ClearStructure清除网格的结构(映射信息)

CollapseAll折叠网格的某个特定的所有行

ExpandAll展开网格的某个特定的所有行

RemoveItem从网格中清除一行

方法AddItem和RemoveItem可以用来向网格中加入或删除行(BANDS).如果折叠或展开某个BAND的所有行,则可以使用COLLAPSEALL和EXPAANDALL方法.

方法CLEAR可以清除网格中的内容,但不影响网格的行,列数,如果要清除网格的结构,包括顺序及网格各列的名称,应当使用ClearStructure方法.

3) MSHFELXGRID的控件的主要事件

Collapse用户折叠了网格的一行

Compare当SORT属性被设置为CUSTOMERSORT,允许用户定义排序过程

EnterCell当一个新的单元成为当前活动单元时(获得)

Expand用户展开了网格的一行

LeaveCell当一个新单元成为当前活动单元前(离开)

RowColChange当一个新单元成为当前活动单元时

Scroll用户用键盘,滚动条滚动网格的内容或网格的内容由程序滚动时

SelChangeEvent一个新范围内的单元被选中

EnterCell, LeaveCell, RowColChange事件相互联系,因为它们都在当一个新单元成为当前活动单元时被激发,实际上这些事件的顺序是:LeaveCell, EnterCell然后是RowColChange.

Collapse和Expand事件在用户折叠或者展开网格的一行(BAND)时被激发.属性ROW和COL可以用来确定用户折叠或者展开的单元.

当SORT属性设置为9时,对网格的每两行发生一次COMPARE事件,用户排序方法使你可以选择按照午任意列或单元对行排序.注意,使用这种排序方式的速度会慢于BUILD-IN排序.

不论采用何种方式,只要对网格进行滚动时,SCROLL事件就会被激发.当SCROLLTRACK属性设置为TRUE时,如果用户用鼠标拖动或滚动时,该事件也被激发,如果SCROLLTRACK属性被设置为FALSE时,SCROLL事件只在拖动结束后激发一次.

当选择单元格变化时, SelChangeEvent事件会被激发,对选择的单元范围的改变,可以通过用户操作或程序代码来实现

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhifu110/archive/2009/07/14/4346585.aspx
百度网友e8a369d
2011-04-15 · 超过85用户采纳过TA的回答
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:176万
展开全部
应该有个ColumnWidth(Index)之类的属性吧,设置它就可以设置各列宽度了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chinaboyzyq
推荐于2018-05-09 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3446万
展开全部
Private Sub Form_Load()
MSFlexGrid1.ColWidth(0) = 200
MSFlexGrid1.ColWidth(1) = 800
MSFlexGrid1.ColWidth(2) = 1200
MSFlexGrid1.ColWidth(3) = 400

End Sub
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jackyfu2010
2011-04-15
知道答主
回答量:22
采纳率:0%
帮助的人:12.2万
展开全部
MSFlexGrid在设计时,我个人是在其控件的属性里调节其宽度的
追问
怎么设置?
追答
我认为还是在程序设计时,设置其宽度比较合适
用MSFlexGrid1.ColWidth(0)这样的属性设置应该行的。试试看吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式