Fired after cell's state has been changed.
![]() | Type | Description | ||
| Item as HITEM | A long expression that indicates the handle of the item where the cell's state is changed. | |||
| ColIndex as Long | A long expression that indicates the index of the column where the cell's state is changed, or a long expression that indicates the handle of the cell, if the Item parameter is 0. |
A cell that contains a radio button or a check box button fires the CellStateChanged event when its state is changed. Use the CellState property to change the cell's state. Use the CellHasRadioButton or CellHasCheckBox property to enable radio or check box button into a cell. Use the CellImage property to display an icon in the cell. Use the CellImages property to display multiple icons in the same cell. Use the PartialCheck property to enable partial check feature ( check boxes with three states: partial, checked and unchecked ). Use the CellChecked property to determine the handle of the cell that's checked in a radio group. Use the CellRadioGroup property to radio group cells.
The following VB sample displays a message when the user clicks a check box or a radio button:
Private Sub Tree1_CellStateChanged(ByVal Item As EXTREELibCtl.HITEM, ByVal ColIndex As Long) Debug.Print "The cell """ & Tree1.Items.CellCaption(Item, ColIndex) & """ has changed its state. The new state is " & IIf(Tree1.Items.CellState(Item, ColIndes) = 0, "Unchecked", "Checked") End Sub
The following VC sample displays the caption of the cell whose checkbox's state is changed:
#include "Items.h"
static CString V2S( VARIANT* pv, LPCTSTR szDefault = _T("") )
{
if ( pv )
{
if ( pv->vt == VT_ERROR )
return szDefault;
COleVariant vt;
vt.ChangeType( VT_BSTR, pv );
return V_BSTR( &vt );
}
return szDefault;
}
void OnCellStateChangedTree1(long Item, long ColIndex)
{
CItems items = m_tree.GetItems();
COleVariant vtItem( Item ), vtColumn( ColIndex );
CString strCellCaption = V2S( &items.GetCellCaption( vtItem, vtColumn ) );
CString strOutput;
strOutput.Format( "'%s''s checkbox state is %i\r\n", strCellCaption, items.GetCellState( vtItem, vtColumn ) );
OutputDebugString( strOutput );
}
The following VB.NET sample displays a message when the user clicks a check box or a radio button:
Private Sub AxTree1_CellStateChanged(ByVal sender As Object, ByVal e As AxEXTREELib._ITreeEvents_CellStateChangedEvent) Handles AxTree1.CellStateChanged
Debug.WriteLine("The cell """ & AxTree1.Items.CellCaption(e.item, e.colIndex) & """ has changed its state. The new state is " & IIf(AxTree1.Items.CellState(e.item, e.colIndex) = 0, "Unchecked", "Checked"))
End Sub
The following C# sample outputs a message when the user clicks a check box or a radio button:
private void axTree1_CellStateChanged(object sender, AxEXTREELib._ITreeEvents_CellStateChangedEvent e)
{
string strOutput = axTree1.Items.get_CellCaption( e.item, e.colIndex ).ToString();
strOutput += " state = " + axTree1.Items.get_CellState(e.item, e.colIndex).ToString() ;
System.Diagnostics.Debug.WriteLine( strOutput );
}
The following VFP sample prints a message when the user clicks a check box or a radio button:
*** ActiveX Control Event *** LPARAMETERS item, colindex local sOutput sOutput = "" with thisform.Tree1.Items .DefaultItem = item sOutput = .CellCaption( 0, colindex ) sOutput = sOutput + ", state = " + str(.CellState( 0, colindex )) wait window nowait sOutput endwith