tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルMSFlexGridについて
記事No15828
投稿日: 2013/12/03(Tue) 12:39
投稿者MSF
MSFlexGridを使用して表示する際に
セルを選択している状態で表示すると
選択している一番上のセルの表示が他より小さく表示されます
セルを選択しなければ良いのであればと思い
適当なテキストにセットフォーカス後、表示しましたが
最後に選択していたセルの一番上が小さく表示されてしまいました
これを回避するにはどうしたらよいでしょうか?
御教授宜しくお願いします

[ツリー表示へ]
タイトルRe: MSFlexGridについて
記事No15829
投稿日: 2013/12/03(Tue) 15:09
投稿者MSF
こちらに記載するサンプルを作ってたら自己解決しました
下記、サンプルでCellFontSizeを変更しているのですが
RowとColを指定していなかったので
Command1ボタンを2回目クリックすると
変なところのCellFontSizeが変わっていました
有難うございました。

Private Sub Command1_Click()

Dim AA As Long
Dim BB As Long
Dim Col_Cnt As Long
Dim Row_Cnt As Long
Dim Str As String

Col_Cnt = 3

With MSFlexGrid1
    .Cols = 2 + 2 * Col_Cnt
    .ColWidth(0) = 900
    .ColWidth(1) = 1000
    .MergeRow(0) = True
    .MergeCells = flexMergeFree
    For AA = 0 To Col_Cnt - 1
        .ColWidth(2 + AA * 2) = 2000
        .ColWidth(3 + AA * 2) = 500
        .TextMatrix(0, 2 + AA * 2) = "タイトル" & StrConv(3 + AA, vbWide)
        .TextMatrix(0, 3 + AA * 2) = "タイトル" & StrConv(3 + AA, vbWide)
    Next AA

    .CellFontSize = 8
    .TextMatrix(0, 0) = "タイトル1"

    .CellFontSize = 8
    .TextMatrix(0, 1) = "タイトル2"
    
    For AA = 0 To 10
        Row_Cnt = Row_Cnt + 1
        .Rows = Row_Cnt + 1
        
        .TextMatrix(Row_Cnt, 0) = AA
        .TextMatrix(Row_Cnt, 1) = AA

        For BB = 0 To Col_Cnt - 1
            Str = BB + 1
            .TextMatrix(Row_Cnt, 2 + BB * 2) = StrConv(String(6, Str), vbWide)
            .TextMatrix(Row_Cnt, 3 + BB * 2) = StrConv(BB + 1, vbWide)
            
        Next BB
    Next AA
End With

End Sub

[ツリー表示へ]