表格控件使用?MSFlexGrid 控件
控件的添加
(1)? 如圖。在vb左邊的工具欄上點右鍵選部件,在部件窗口中選擇flexgrid控件,確定後就可以看到控件圖標被添加到了工具欄。
(2) 新建壹個Form窗口,點擊MSFlexGrid 控件圖標,將控件畫到Form窗口。如圖。在控件上點右鍵選屬性進入屬性頁面,調整控件屬性值。
MSFlexGrid 控件使用
文本和圖片可以同時或者單獨放在 MSFlexGrid 的任何壹個單元格中。Row 和 Col 屬性指定了當前的 MSFlexGrid 單元格。程序員可以在代碼中改變當前單元格,用戶可以在運行時使用鼠標或者箭頭鍵改變它。Text 屬性提供了當前單元格內容的參考信息。
如果單元格中的文本過長,無法全部顯示在單元格的壹行中,而且 WordWrap 屬性被設置為 True,那麽文本將回繞到同壹單元格的下壹行。如果需要顯示被回繞的文本,需要增加單元的列寬(ColWidth 屬性)或行高(RowHeight 屬性)。
使用 Col 和 Row 屬性可以分別確定 MSFlexGrid 中列與行的個數。
註意在應用程序中使用MSFlexGrid之前,首先必須將 MSFlxGrd.ocx 文件添加到工程中。如果希望自動地將文件包含在過程之中,請將它放在 Autoload 文件中。在發布應用程序的時候,應該在用戶的 Microsoft Windows System 目錄下安裝MSFlxGrd.ocx 。
====== MSFlexGrid《重要屬性》《重要屬性》《重要屬性》 ========
(1)? FormatString 屬性:設置列寬,對齊方式,固定行文本和固定列文本。
在設計時,MSHFlexGrid 語法分析和解釋 FormatString 來獲得如下信息:行和列的數目、行和列標頭的文本、列寬和列對齊方式。
FormatString 屬性包含由管道字符 (|) 分隔的段。管道字符之間的文本定義壹列並且也可能包含特定的對齊字符。這些字符使整個列左對齊(<)、居中(^)或右對齊(>)。另外,根據缺省規定文本被指定給行 0,且文本寬度定義每壹列的寬度。
FormatString 屬性可能包含壹個分號 (;)。這使得字符串的余下部分被解釋為行標頭和行寬度信息。另外,根據缺省規定文本被指定給列 0,且最長的字符串定義列 0 的寬度。
MSHFlexGrid 創建附加的行和列來駐留由 FormatString 定義的所有字段。如果只有幾個字段被指定,附加的行和列不被刪除。要刪除附加的行和列,設置 Rows 和 Cols 屬性。
下面的示例舉例說明 FormatString 屬性如何工作。
' 設置列標頭。
s$ = "<Region |<Product |<Employee |>Sales "
MSHFlexGrid1.FormatString = s$
' 設置行標頭(註意開始的分號)。
s$ = ";Name|Address|Telephone|Social Security#"
MSHFlexGrid1.FormatString = s$
' 設置列和行標頭。
s$ = "|Name|Address|Telephone|Social Security#"
s$ = s$ + ";|Robert|Jimmy|Bonzo|John Paul"
MSHFlexGrid.FormatString = s$
(2)TextMatrix 屬性
返回或設置壹個任意單元的文本內容。
語法:object.TextMatrix(rowindex, colindex) [=string]
示例:MSHFlexGrid1.TextMatrix(1, ?2) =Rnd()
(3)MouseCol、MouseRow 屬性
按行和列坐標返回鼠標的當前位置。
語法:object.MouseCol [=value] object.MouseRow [=value]
========?MSFlexGrid ?《方法》《方法》 =========
(1)AddItem 方法:將壹個行添加到 MSHFlexGrid 控件中。不支持命名參數。
語法:object.AddItem (string, index, number)
AddItem方法的語法包含以下部分:
部分 | 描述 |
object | 對象表達式,其值是“應用於”列表中的對象。 |
item | 字符串必需的。字符串表達式,它在新增行中顯示。可以用制表符(vbTab) 來分隔每個字符串,從而將多個字符串(行中的多個列)添加進去。 |
Index | 可選的。Long類型,它代表了控件中放置新增行的位置。對於第壹行來說,index= 0。如果省略index,那麽新增行將成為帶區中的最後壹行。註意index是MSHFlexGrid中的BandColIndex。 |
number | 可選的。Long值,指出添加行的帶區號。 |
(2)RemoveItem 方法
運行時從 MSHFlexGrid 中刪除壹行。這壹屬性不支持命名的參數
語法:object.RemoveItem(index, number)
RemoveItem 方法的語法包含如下部分:
部分 ? 描述object ? 壹個對象表達式。
index 壹個整數,表示 MSHFlexGrid 中要刪除的行。對於第壹行,index=0。
number 壹個 Long值,指定要從中刪除行的帶區。
說明
這壹方法刪除指定的整個行。要不刪除行來清除數據,使用 Clear 方法。
在包含子記錄的帶區內刪除壹個行時,子記錄被自動地刪除。
示例
在該示例中,用 AddItem 方法將 100 項添加到 MSHFlexGrid 中。要試用此例,可以將代碼粘貼到窗體(該窗體帶有命名為 MSFlexGrid1 的 MSHFlexGrid 控件)的聲明部分,然後按下 F5 鍵,並單擊該窗體。
Private Sub Form_Click ()
Dim Entry, i, Msg ? '聲明變量。 Msg =? "Choose OK to add 100 items to your MSFlexGrid." MsgBox Msg ? '顯示消息。 MSHFlexGrid1.Cols = 2 '每行有兩個字符串。 For i = 1 To 100 ? '從 1 計數到 100。?Entry = "Entry " & Chr(9) & I ? '創建項。
?MSHFlexGrid1.AddItem Entry ?'添加項。
Next? Msg ="Choose OK to remove every other entry." MsgBox Msg '顯示消息。 For i =1 To 50 ? '決定怎樣刪除?MSHFlexGrid1.RemoveItem i ? '其它每壹項。
Next? Msg ="Choose OK to clear all items." MsgBox Msg '顯示消息。 MSFlexGrid1.Clear ? '清除列表框。End Sub
編輯花了很大力氣,望采納!