分享

VB MSHFLEXGRID MSHFLEXGRID 绑定 CHECKBOX

 网络摘记 2014-10-17

Private Sub MSHFlexGrid1_Click()
If MSHFlexGrid1.Col = 0 Then MSHFlexGrid1.Text = Chr(124 - Asc(MSHFlexGrid1.Text))
End Sub

Private Sub Form_Load()
Dim i As Long
With MSHFlexGrid1
.FixedCols = 0
.Cols = 4
.TextArray(0) = "Flag"
.TextArray(1) = "i"
.TextArray(2) = "i^2"
.TextArray(3) = "i^3"
For i = 1 To 50
.AddItem vbTab & i & vbTab & i ^ 2 & vbTab & i ^ 3
Next
.RemoveItem 1

For i = 1 To 50
.Row = i
.Col = 0
.CellFontName = "Wingdings 2"
.Text = Chr(IIf(i Mod 2 = 0, 82, 42))
Next
End With

End Sub
 

Another method:

Option Explicit

Dim strChecked As String

Private Sub Form_Load()
Dim i As Variant, ms_rows As Integer
    ' Start building the Grid

    ms_rows = 20 ' This is the number of rows to print out
    With MSFlexGrid1
        .Row = 0
        .Col = 0
        .Rows = ms_rows + 1 'We add 1 to ensure we get all the rows
        .Cols = 2
        .ColWidth(0) = 250 ' CheckBox column
        .ColWidth(1) = 1440 ' Index column
    End With

    ' Now build the Grid

    For i = 0 To 20 'm_rows - 1
        With MSFlexGrid1
                .Row = i: .Col = 0: .CellPictureAlignment = 4 ' Align the checkbox
                Set .CellPicture = picUnchecked.Picture ' Set the default checkbox picture to the empty box
                .TextMatrix(i, 1) = i
        End With
    Next
End Sub
Private Sub MSFlexGrid1_Click()
Dim oldx, oldy, cell2text As String, strTextCheck As String

    ' Check or uncheck the grid checkbox
    With MSFlexGrid1
        oldx = .Col
        oldy = .Row
        If MSFlexGrid1.Col = 0 Then
            If MSFlexGrid1.CellPicture = picChecked Then
                Set MSFlexGrid1.CellPicture = picUnchecked
                .Col = .Col + 1 ' I use data that is in column #9, usually an Index or ID #
                strTextCheck = .Text
                strChecked = Replace(strChecked, strTextCheck & ",", "")
                Debug.Print strChecked
            Else
                Set MSFlexGrid1.CellPicture = picChecked
                .Col = .Col + 1
                strTextCheck = .Text
                strChecked = strChecked & strTextCheck & ","
                Debug.Print strChecked
            End If
        End If
        .Col = oldx
        .Row = oldy
    End With
End Sub

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多