tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
MSFlexGridにチェックボックスを表示する(VB6.0)_1 ( No.1 )  [親スレッドへ]
日時: 2011/04/05 10:39
名前: 花ちゃん

* カテゴリー:[グリッド関係]

-----------------------------------------------------------------------------------
Re^4: 参考コード - MSFlexGridにチェック.. - LESIA  2007/01/17-14:51 No.8133
-----------------------------------------------------------------------------------

こういうのはどうでしょうか?
これならチェックボックスコントロールを使わないのでいいかも。

Option Explicit

Private Sub Form_Load()
    Call Grid_init
    Call Grid_set
End Sub

Private Sub Grid_init()
    MSFlexGrid1.CellAlignment = 1
    MSFlexGrid1.FixedCols = 0
    MSFlexGrid1.HighLight = flexHighlightNever
    MSFlexGrid1.Clear
    MSFlexGrid1.Cols = 5
    MSFlexGrid1.Rows = 2
    MSFlexGrid1.TextMatrix(0, 0) = "X"
    MSFlexGrid1.ColWidth(0) = 300
    MSFlexGrid1.TextMatrix(0, 1) = "番号"
    MSFlexGrid1.ColWidth(1) = 900
    MSFlexGrid1.TextMatrix(0, 2) = "名前"
    MSFlexGrid1.ColWidth(2) = 2000
    MSFlexGrid1.TextMatrix(0, 3) = "住所"
    MSFlexGrid1.ColWidth(3) = 4000
    MSFlexGrid1.TextMatrix(0, 4) = "電話番号"
    MSFlexGrid1.ColWidth(4) = 2000
End Sub

Private Sub Grid_set()
    Dim lng_I As Long
    Dim lng_J As Long
    Dim I     As Long

    '** エラートラップ開始
    On Error Resume Next

    lng_I = 0
    lng_J = 0
    
    With MSFlexGrid1
        .ColAlignment(1) = 0

        For I = 0 To 10
            lng_I = lng_I + 1
            .Rows = lng_I + 1

            .Row = lng_I
            .Col = lng_J
            .CellFontName = "Wingdings"
            .CellFontSize = 11
            .Text = Chr$(112) 'UnChecked

            .TextMatrix(lng_I, lng_J + 1) = "000001"
            .TextMatrix(lng_I, lng_J + 2) = "山田 太郎"
            .TextMatrix(lng_I, lng_J + 3) = "東京都千代田区大手町"
            .TextMatrix(lng_I, lng_J + 4) = "03-0000-0000"
        Next
    End With
End Sub

Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = 1 Then
        With MSFlexGrid1
            If .MouseCol = 0 Then
                If .TextMatrix(.MouseRow, .MouseCol) = Chr$(254) Then
                    .TextMatrix(.MouseRow, .MouseCol) = Chr$(112) 'UnChecked
                Else
                    .TextMatrix(.MouseRow, .MouseCol) = Chr$(254) 'Checked
                End If
            End If
        End With
    End If
End Sub

--------------------------------------------------------------------------
>    .CellFontName = "Wingdings"
>    .CellFontSize = 11
> について教えていただきたいのですが、
> 使ったことがないのですが、
>  ・CellFontName は?
>  ・Wingdings は?
>   ヘルプとかで調べてみたのですが、ありませんでした。

CellFontNameにカーソルを合わせてF1キーを押せば出てくるはずですが…。
左のカテゴリ別サンプル一覧のMSFlexGrid関係の主要プロパティ一覧にも載ってますよ。
Wingdingsはこちらを参考にしてください。&#0112と&#0254が使っている文字コードです。
でも、ここを見ると&#112より&#111の方がいいかもしれないですね。
http://pielin.hp.infoseek.co.jp/fonts/wingdings.html




 [スレッド一覧へ] [親スレッドへ]