MSFlexGrid控件的相关介绍

来源:互联网 发布:php微信菜单消息推送 编辑:程序博客网 时间:2024/04/29 08:10

   在工程部件控件中选择MicrosoftFlexGrid Control version 6.0 可以添加MSFlexGrid控件。

 它作用是显示和操作表格数据,对包含字符串和图片的表格提供灵活的排序、插入数据和格式编排功能,当与Data控件绑定时,就只显示只读数据。可在其中任何单元放置文本、图片或两者,Row属性确定其列数,Col确定其行数要在单元中显示多行文本,需增大宽度(ColWidth属性)或行高度(ColHeight

 

 下面是有关它的个别具体代码操作:

1.MSFlexGrid中取某一单元格数据:

Private Sub MSFlexGrid1_Click() 

MsgBoxMSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col), vbOKOnly,"提示消息"

End Sub 

 

2.在单元格中插入背景图片:

Set MSFlexGrid.CellPicture=LoadPicture("图片物理位置")

 

3.在单元格中插入文本:

MSFlexGrid.textMatrix(Col,Row)="文本"

 

4添加新的一行:(AddItem方法)

Dim row asstring

row="AAA" & btab &"bbb"

MSFlexGrid1.addItem row

   5.怎么实现MSFlexGrid控件单行背景为白色,双行为蓝色(或其他颜色):

Dim I asInteger

With MSFlexGrid1

.AllowBigSelection=True   '设置网格样式

.FillStyle=flexFillRepeat

For i=0 To.Rows-1

 .Row = i: .Col = .FixedCols  

 .ColSel = .Cols() - .FixedCols - 1  

  If i Mod 2 = 0 Then  

      .CellBackColor = &HC0C0C0   浅灰

  Else  

      .CellBackColor = vbBlue        兰色

  

   End If  

        Next i  

End With

 

6.MSFlexGrid控件如何移到最后一行

  

MSFlexGrid1.TopRow = MSFlexGrid1.Rows 1  

 

7.如何判断msflexgrid有无滚动条

  

Declare Function GetScrollRange Lib "user32" (ByVal hWnd As Long, ByVal nBar As Long, lpMinPos As Long, lpMaxPos As Long) As Long  

 

Public Const SB_HORZ = &H0  

Public Const SB_VERT = &H1

 

Public Function VsScroll(MshGrid As MSHFlexGrid) As Boolean          判断水平滚动条的可见性 

Dim i As Long  

VsScroll = False  

i = GetScrollRange(MshGrid.hWnd, SB_HORZ, lpMinPos, lpMaxPos)  

If lpMaxPos <> lpMinPos Then VsScroll = True  

End Function  

 

Public Function HeScroll(MshGrid As MSHFlexGrid) As Boolean          判断垂直滚动条的可见性 

Dim i As Long  

HeScroll = False  

i = GetScrollRange(MshGrid.hWnd, SB_VERT, lpMinPos, lpMaxPos)  

If lpMaxPos <> lpMinPos Then HeScroll = True  

End Function  

 

8.程序运行时,想动态增加MSFlexgrid的列数

 

例:在第2列后插入一列

 

Private Sub Form_Load()  

Me.MSHFlexGrid1.Cols = 5  

MSHFlexGrid1.Rows = 2  

For i = 0 To Me.MSHFlexGrid1.Cols - 1  

Me.MSHFlexGrid1.TextMatrix(0, i) = i  

Me.MSHFlexGrid1.TextMatrix(1, i) = i  

Next  

End Sub  

 

Private Sub Command1_Click()  

Me.MSHFlexGrid1.Cols = Me.MSHFlexGrid1.Cols + 1  

Me.MSHFlexGrid1.ColPosition(5) = 3  

End Sub  

 

 

9.请教MSFlexGrid中的对齐功能的使用

 

设置MSFlexGrid1.ColAlignment(index)=n  

 

 

10.得到MSFlexGrid控件中当前选中的一行

 

msflexgrid1.row sel就是当前选中行

  

 

 

11.如何通过代码调节列宽度

  

msflexgrid1.colwidth(i)=4000

 

 

 

 

方法:

OLEDrag方法(ActiveX控件),Refresh方法(ActiveX控件),RemoveItem方法(MSHFlexGrid),AddItem方法(MSHFlexGrid),Clear方法(MSHFlexGrid),SelFocus方法,Drag方法,Move方法,ZOrder方法,ShowWhatsThis方法。

 

MSFlexGrid特有事件

※注1MSFlexGrid控件的特有事件全部是不带参数的,要注意与DataGrid控件的同名事件区分

※注2:执行顺序:LeaveCell SelChange EnterCell RowColChange

SelChange事件 (DISPID = 69)

Private Sub object_SelChange()

void OnSelChange(void);

RowColChange事件 (DISPID = 70)

Private Sub object_RowColChange()

void OnRowColChange(void);

EnterCell事件 (DISPID = 71)

Private Sub object_EnterCell()

void OnEnterCell(void);

LeaveCell事件 (DISPID = 72)

Private Sub object_LeaveCell()

void OnLeaveCell(void);

Scroll事件 (DISPID = 73)

Private Sub object_Scroll()

void OnScroll(void);

Compare事件

Private Sub object_Compare(row1, row2, cmp)

void OnCompare(long nRow1, long nRow2, CMP_FUNCpFunc)

 

AddModeSettings 属性

常数

描述

flexNoAddNew

0

当前单元不在最后行中,并且没有 AddNew 操作处于待决。

flexAddNewCurrent

1

当前单元在最后一行,但没有 AddNew 操作处于待决。

flexAddNewPending

2

当前单元在倒数第二行。这是是通过 MSHFlexGrid 用户接口由用户初始化一个待决的 AddNew 操作的结果,或者是编程地设置一个列的 Value  Text 属性的结果。

AllowUserResizing属性

常数

描述

flexResizeNone

0

用户不能使用鼠标调整大小。这是缺省设置值。

flexResizeColumns

1

用户可以使用鼠标调整列的大小。

flexResizeRows

2

用户可以使用鼠标调整行的大小。

flexResizeBoth

3

用户可以使用鼠标调整列和行的大小。

Appearance 属性

常数

描述

flexFlat

0

MSHFlexGrid 的全部外观是平面的或正常的。

flex3D

1

MSHFlexGrid 的全部外观是三维的。

BorderStyle 属性

常数

描述

flexBorderNone

0

没有边框。

flexBorderSingle

1

有一个单边框。

CellAlignment 属性

常数

描述

flexAlignLeftTop

0

单元内容顶部左对齐

flexAlignLeftCenter

1

单元内容中间左对齐。对字符串的缺省设置值。

flexAlignLeftBottom

2

单元内容底部左对齐。

flexAlignCenterTop

3

单元内容顶部居中。

flexAlignCenterCenter

4

单元内容中间居中。

flexAlignCenterBottom

5

单元内容底部居中。

flexAlignRightTop

6

单元内容顶部右对齐

flexAlignRightCenter

7

单元内容中间右对齐。对数字的缺省设置值。

flexAlignRightBottom

8

单元内容底部右对齐。

flexAlignGeneral

9

单元内容一般对齐方式。对字符串中间左对齐而对数值中间右对齐

CellPictureAlignment属性

常数

描述

flexAlignLeftTop

0

图片顶部左对齐

flexAlignLeftCenter

1

图片中间左对齐

flexAlignLeftBottom

2

图片底部左对齐。

flexAlignCenterTop

3

图片顶部居中。

flexAlignCenterCenter

4

图片中间居中。

flexAlignCenterBottom

5

图片底部居中。

flexAlignRightTop

6

图片顶部右对齐

flexAlignRightCenter

7

图片中间右对齐

flexAlignRightBottom

8

图片底部右对齐。

CellTextStyleTextStyleTextStyleFixed属性

常数

描述

flexTextFlat

0

文本为正常的、平面的文本。

flexTextRaised

1

文本看起来凸起。

flexTextInset

2

文本看起来凹入。

flexTextRaisedLight

3

文本看起来轻微凸起。

flexTextInsetLight

4

文本看起来轻微凹入。

CellType 属性

常数

描述

flexCellTypeStandard

0

单元为标准单元

flexCellTypeFixed

1

单元包含在一个固定行或列中。

flexCellTypeHeader

2

单元是一个数据带区的标头单元。

flexCellTypeIndent

3

单元用在缩进一个数据带区的一列中。

flexCellTypeUnpopulated

4

单元是一个未充填的单元。

ColAlignment 属性

常数

描述

flexAlignLeftTop

0

列内容顶部左对齐

flexAlignLeftCenter

1

列内容中间左对齐。对字符串的缺省设置值。

flexAlignLeftBottom

2

列内容底部左对齐。

flexAlignCenterTop

3

列内容顶部居中。

flexAlignCenterCenter

4

列内容中间居中。

flexAlignCenterBottom

5

列内容底部居中

flexAlignRightTop

6

列内容顶部右对齐

flexAlignRightCenter

7

列内容中间右对齐。对数值的缺省设置值。

flexAlignRightBottom

8

列内容底部右对齐。

flexAlignGeneral

9

列内容一般对齐方式。对字符串中间左对齐而对数值中间右对齐。

ColHeader 属性

常数

描述

flexColHeaderOn

0

为每一个带区显示标头。

flexColHeaderOff

1

没有为带区显示标头。

flexColHeaderOnce

2

为带区显示标头。如果带区被折叠,只显示一个标头。重复的标头不显示。

DisplayBandSettings属性

常数

描述

flexBandDisplayHorizontal

0

MSHFlexGrid 中的带区水平显示(横向)。缺省设置值。

flexBandDisplayVertical

1

MSHFlexGrid 中的带区竖直显示(上下方向)。

DisplayCellSettings属性

常数

描述

FlexCellDisplayHorizontal

0

MSHFlexGrid 中的带区水平显示(横向)。

flexCellDisplayVertical

1

MSHFlexGrid 中的带区竖直显示(上下方向)。

FillStyle 属性

常数

描述

flexFillSingle

0

单个。更改Text 或任何单元属性只影响活动单元。缺省设置值。

flexFillRepeat

1

重复。更改Text 或任何单元属性影响所有选定单元。

FocusRect 属性

常数

描述

flexFocusNone

0

围绕当前单元没有焦点矩形。

flexFocusLight

1

围绕当前单元有一个浅色的焦点矩形。缺省设置值。

flexFocusHeavy

2

围绕当前单元有一个深色的焦点矩形。

GridLinesGridLinesFixed属性

常数

描述

flexGridNone

0

没有线。单元格之间没有线。在 MSFlexGrid 中,对 GridLines 这是缺省的设置值。

flexGridFlat

1

有线。单元格之间线风格被设置为正常的、平面的线。在 MSHFlexGrid 中,对 GridLines 这是缺省的设置。

flexGridInset

2

凹入线。单元格之间线的风格被设置为凹入线。在 MSFlexGrid 中,对 GridLinesFixed 这是缺省的设置值。

flexGridRaised

3

凸起线。单元格之间的线风格被设置为凸起线。在 MSHFlexGrid 中,对 GridLinesFixed 这是缺省的设置值。

HighLight 属性

常数

描述

flexHighlightNever

0

选定单元无突出显示。

flexHighlightAlways

1

选定单元总是突出显示。这是缺省设置值。

flexHighlightWithFocus

2

突出显示只在控件有焦点时才显现。

MergeCells 属性

常数

描述

flexMergeNever

0

不显示。包含相同内容的单元不分组。这是缺省设置值。

flexMergeFree

1

自由。包含相同内容的单元总是合并。

flexMergeRestrictRows

2

限制行。只有行中包含相同内容的相邻单元(向左)合并。

flexMergeRestrict-Columns

3

限制列。只有列中包含相同内容的相邻单元(向上)合并。

flexMergeRestrictBoth

4

限制行和列。只有在行中(向左)或在列中(向上)包含相同内容的相邻的单元合并。

MousePointer 属性

常数

描述

flexDefault

0

MSHFlexGrid 的轮廓。

flexArrow

1

一个箭头指针。

flexCross

2

一组十字型指针。

flexIBeam

3

一个 "I"型标指针,来允许文本输入。

flexIcon

4

一个正方形中的方块。

flexSize

5

一个用箭头指向上方、下方、左方或右方调整大小指针。

flexSizeNESW

6

一个用箭头指向右上方和左下方调整大小指针。

flexSizeNS

7

一个用箭头指向上方和下方调整大小指针。

flexSizeNWSE

8

一个用箭头指向左上方和右下方调整大小指针。

flexSizeEW

9

一个用箭头指向左方和右方调整大小指针。

flexUpArrow

10

一个指向上方的箭头。

flexHourGlass

11

一个沙漏符号。

flexNoDrop

12

一个“不允许放下”指针。

flexCustom

13

一个自定义风格指针。

PictureType 属性

常数

描述

flexPictureColor

0

产生一个高品质的全色图象。

flexPictureMonochrome

1

产生一个较低品质、单色,占用较少内存的图象。

RowSizingSettings属性

常数

描述

flexRowSizeIndividual

0

调整一个行的大小只更改调整的行的高度。这是缺省设置值。

flexRowSizeAll

1

调整一个行的大小更改 MSHFlexGrid 中的所有行的高度。

SelectionMode 属性

常数

描述

flexSelectionFree

0

自由。允许选定 MSHFlexGrid 中的个别单元,电子数据表风格。(缺省设置值)

flexSelectionByRow

1

按行。强制跨越整个行选择,如在一个多列列表框或基于记录的显示。

flexSelectionByColumn

2

按列。强制跨越整个列选择,如同为一个图表选择范围或为排序选择字段。

ScrollBars 属性

常数

描述

flexScrollNone

0

MSHFlexGrid 没有滚动条

flexScrollHorizontal

1

MSHFlexGrid 有一个水平的滚动条。

flexScrollVertical

2

MSHFlexGrid 有一个竖直的滚动条。

flexScrollBoth

3

MSHFlexGrid 有水平和竖直的滚动条。这是缺省设置值。

Sort 属性

常数

描述

flexSortNone

0

无。不执行排序。

flexSortGenericAscending

1

一般升序。执行估计文本不管是字符串或者是数值的升序排序。

flexSortGenericDescending

2

一般降序。执行估计文本不管是字符串或者是数值的降序排序。

flexSortNumericAscending

3

数值升序。执行把字符串变换为数值的升序排序。

flexSortNumericDescending

4

数值降序。执行把字符串变换为数值的降序排序。

flexSortStringNoCaseAsending

5

字符串升序。执行不区分大小写字符串比较的升序排序。

flexSortNoCaseDescending

6

字符串降序。执行不区分大小写字符串比较的降序排序。

flexSortStringAscending

7

字符串升序。执行区分大小写字符串比较的升序排序。

flexSortStringDescending

8

字符串降序。执行区分大小写字符串比较的降序排序。

flexSortCustom

9

自定义,使用 Compare 事件比较行。

 

属性:(下面的有关各属性的具体用法,我会继续更新

OLEDropMode属性(ActiveX控件);

Height,Width属性(ActiveX控件)

Index属性(ActiveX控件)

Left,Top属性(ActiveX控件)

Tag属性(ActiveX控件)

Visible属性(ActiveX控件)

Object属性(ActiveX控件)

ColPos属性

ColPositon,RowPosition属性

Cols, Rows属性(MSHFlexGrid

ColSel,RowSel属性

ColWidth属性(MSHFlexGrid

FillStyle属性(MSHFlexGrid

FixedCols,FixedRows属性(MSHFlexGrid

FocusRect属性

FontWidth,FontWidthBand,FontWidthFixed, FontWidthHeader属性(MSHFlexGrid

ForeColor,ForeColorBand, ForeColorFixed, ForeColorHeader, ForeColorSel属性

FormatString属性

GridColor,GirdColorBand, GridColorFixed, GridColorHeader,GridColorIndent,GridColorUnpopulated属性

GridLines,GridLinesBand,GridLinesFixed, GridLinesHeader, GridLinesIndent,GridLineUnpopulated属性(MSHFlexGrid

GridLineWidth,GridLineWidthBand, GridLineWidthFixed,GridLineWidthHeader, GridLineWidthIndent,GridLineWidthUnpopulated属性(MSHFlexGrid

HighLight属性(MSHFlexGrid

LeftCol属性(MSHFlexGrid

MergeCells属性

MergeCol, MergeRow属性

MouseCol, MouseRow属性

Name属性(MSHFlexGrid

Picture属性(MSHFlexGrid

PictureType属性

Redraw属性

RowHeight属性(MSHFlexGrid

RowHeightMin属性

RowVisible属性

RowPos属性

ScrollBars属性(MSHFlexGrid

ScrollTrack属性

SelectionMode属性

Sort属性(MSHFlexGrid

Text属性(MSHFlexGrid

TextArray属性

TextMatrix属性

TextStyle,TextStyleBand, TextStyleFixed, TextStyleHeader属性(MSHFlexGrid

TopRow属性(MSHFlexGrid

Version属性(MSHFlexGrid

WordWrap属性(MSHFlexGrid

AllowBigSelection属性

AllowUserResizing属性

BackColor,BackColorBkg, BackColorFixed, BackColorSel属性

CellAlignment属性

CellBackColor,CellForeColor属性

CellFontBold属性

CellFontItalic属性

CellFontName属性

CellFontSize属性

CellFontStrikeThrough属性

CellFontUnderline属性

CellFontWidth属性

CellHeight,CellLeft, CellTop, CellWidth属性(MSHFlexGrid

CellPicture属性

CellPictureAlignment属性

CellTextStyle属性

Clip属性(MSHFlexGrid

Col,Row属性(MSHFlexGrid

ColAlignment,ColAlignmentBand, ColAlignmentHeader属性(MSHFlexGrid

ColData,RowData, BandData属性(MSHFlexGrid

ColIsVisible属性

DataBindings属性

TabIndex属性

DragIcon属性

DragMode属性

MouseIcon属性

TabStop属性

HelpContextID属性

Parent属性

Container属性

ToolTipText属性

WhatsThisHelp属性

Appearance属性(ActiveX控件

BorderStyle属性(ActiveX控件)

Enabled属性(ActiveX控件)

DataSource属性(ActiveX控件)

hWnd属性(ActiveX控件)

MousePointer属性(ActiveX控件)。

0 0
原创粉丝点击