property Items.CellHasCheckBox([Item as Variant], [ColIndex as Variant]) as Boolean

Retrieves or sets a value indicating whether the cell has associated a checkbox or not.

TypeDescription
Item as Variant A long expression that indicates the item's handle.
ColIndex as Variant A long expression that indicates the column's index, a string expression that indicates the column's caption or the column's key.
Boolean A boolean expression that indicates whether the cell contains a check box button.

To change the state for a check cell you have to use CellState property. The cell cannot display in the same time a radio and a check button. The control fires CellStateChanged  event when the cell's state has been changed. To set the cell of radio type you have call CellHasRadioButton  property. Use the FilterType property on exCheck to filter for checked or unchecked items.

The following sample shows how to set the check type for all cells of the first column in the first group:

Dim h As Variant
With ExplorerTree1.Groups(0)
    .BeginUpdate
    With .Items
        For Each h In ExplorerTree1.Groups(0).Items
            .CellHasCheckBox(h, 0) = True
        Next
    End With
    .EndUpdate
End With

Another sample that shows how how set the type of cells to radio is:

Private Sub ExplorerTree1_AddItem(ByVal Group As EXPLORERTREELibCtl.IGroup, ByVal Item As EXPLORERTREELibCtl.HITEM)
    With Group.Items
        .CellHasCheckBox(Item, 0) = True
    End With
End Sub

The following sample shows how to use the CellStateChanged event to display a message when a cell of radio or check type has changed its state:

Private Sub ExplorerTree1_CellStateChanged(ByVal Group As EXPLORERTREELibCtl.IGroup, ByVal Item As EXPLORERTREELibCtl.HITEM, ByVal ColIndex As Long)
    Debug.Print "The cell """ & Group.Items.CellCaption(Item, ColIndex) & """ has changed its state. The new state is " & IIf(Group.Items.CellState(Item, ColIndex) = 0, "Unchecked", "Checked")
End Sub

Note: A cell is the intersection of an item with a column. All properties that has an Item and a ColIndex parameters are referring to a cell. The Item parameter represents the handle of an item, and the ColIndex parameter indicates an index ( a numerical value, see Column.Index property ) of a column , the column's caption ( a string value, see Column.Caption property ), or a handle to a cell. Here's few hints how to use properties with Item and ColIndex parameters:

Group.Items.CellBold(, Group.Items.ItemCell(Group.Items(0), 0)) = True
Group.Items.CellBold(Group.Items(0), 0) = True
Group.Items.CellBold(Group.Items(0), "ColumnName") = True