VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -