投稿日 | : 2003/07/07(Mon) 19:26 |
投稿者 | : batchman |
Eメール | : |
URL | : |
タイトル | : Re^3: MSHFlexGridの動的作成 |
Containerプロパティを使用すればSSTabには収められるものの、
Formロード時に一気に設定しても最初に設定したグリッド以外は
SSTabの後ろにいったままになってしまいます。
(他にやり方があるのかも知れませんが、あまり調べる時間も無いもので分かりません。)
一応、下記のコードで動作するには動作しましたが、さっぱり自信はありません。
参考程度で見て下さい。
Private MSGrid(5) As Object
Private Sub Form_Load()
Dim i As Long
SSTab1.Tabs = 6 '現在タブ
For i = 0 To SSTab1.Tabs - 1 'タブ数分ループ
SSTab1.Tab = i '現在タブ
SSTab1.Caption = "Tab" + CStr(i) 'タブキャプション
Set MSGrid(i) = Controls.Add("MSHierarchicalFlexGridLib.MSHFlexGrid", "MGrid" + CStr(i))
With MSGrid(i)
.Cols = i * 3 + 1
.Rows = i * 2 + 1
.Top = SSTab1.TabHeight * SSTab1.Rows + 200
.Left = SSTab1.Left
.Height = SSTab1.Height - SSTab1.TabHeight * SSTab1.Rows - 300
.Width = SSTab1.Width - SSTab1.Left - 300
.TextMatrix(i, i) = "Tab" & Format$(i)
' Set .Container = SSTab1
' .Visible = True
End With
Next i
End Sub
Private Sub SSTab1_Click(PreviousTab As Integer)
With MSGrid(SSTab1.Tab)
If Not .Container Is SSTab1 Then Set .Container = SSTab1
.Visible = True
End With
MSGrid(PreviousTab).Visible = False
End Sub