Retrieves or sets a value indicating whether the cell has an
associated checkbox.
Type | Description | |||
Item as Variant | A long expression that indicates the item's handle. | |||
ColIndex as Variant | A long expression that indicates the cell's handle or 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 Def property to assign check boxes for all cells in the column. Use the CellImage property to add a single icon to a cell. Use the CellImages property to assign multiple icons to a cell. Use the CellPicture property to load a custom size picture to a cell. Use the CheckImage property to change the check box appearance. Use the PartialCheck property to allow partial check feature within the column. Use the FilterType property on exCheck to filter for checked or unchecked items.
The following sample enumerates the cells in the first column and assign a checkbox to all of them:
Dim h As Variant ComboBox1.BeginUpdate With ComboBox1.Items For Each h In ComboBox1.Items .CellHasCheckBox(h, 0) = True Next End With ComboBox1.EndUpdate
The same thing we can do using the Def property like follows:
With ComboBox1.Columns(0) .Def(exCellHasCheckBox) = True End With
The following sample shows how how set the type of cells to radio type while adding new items:
Private Sub ComboBox1_AddItem(ByVal Item As EXCOMBOBOXLibCtl.HITEM) ComboBox1.Items.CellHasCheckBox(Item, 0) = True 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 ComboBox1_CellStateChanged(ByVal Item As EXCOMBOBOXLibCtl.HITEM, ByVal ColIndex As Long) Debug.Print "The cell """ & ComboBox1.Items.CellCaption(Item, ColIndex) & """ has changed its state. The new state is " & IIf(ComboBox1.Items.CellState(Item, ColIndes) = 0, "Unchecked", "Checked") End Sub
The following VB sample adds a checkbox to the focused cell:
With ComboBox1.Items .CellHasCheckBox(.FocusItem, 0) = True End With
The following C++ sample adds a checkbox to the focused cell:
#include "Items.h" CItems items = m_combobox.GetItems(); items.SetCellHasCheckBox( COleVariant( items.GetFocusItem() ), COleVariant( (long)0 ), TRUE );
The following C# sample adds a checkbox to the focused cell:
axComboBox1.Items.set_CellHasCheckBox(axComboBox1.Items.FocusItem, 0, true);
The following VB.NET sample adds a checkbox to the focused cell:
With AxComboBox1.Items .CellHasCheckBox(.FocusItem, 0) = True End With
The following VFP sample adds a checkbox to the focused cell:
with thisform.ComboBox1.Items .DefaultItem = .FocusItem .CellHasCheckBox(0,0) = .t. endwith
Note: The intersection of an item with a column defines a cell. Each cell is uniquely represented by its handle. The cell's handle is of HCELL type, that's equivalent with a long type. All properties of Items object that have two parameters Item and ColIndex, refer a cell.
The following lines are equivalents and each of them changes the bold font attribute of the first cell on the first item.
With ComboBox1 .Items.CellBold(, .Items.ItemCell(.Items(0), 0)) = True .Items.CellBold(.Items(0), 0) = True .Items.CellBold(.Items(0)) = True .Items.CellBold(.Items.ItemByIndex(0)) = True .Items.CellBold(.Items.ItemByIndex(0), 0) = True .Items.CellBold(.Items(0), ComboBox1.Columns(0).Caption) = True End With