property Items.ItemByIndex (nIndex as Long) as HITEM

Retrieves the handle of the item given its index in the Items collection.

TypeDescription
nIndex as Long A long value that indicates the item's index.
HITEM A long expression that indicates the item's handle.

Use the ItemByIndex to get the index of an item. Use the ItemCount property to count the items in the control. the Use the ItemPosition property to get the item's position. Use the ItemToIndex property to get the index of giving item. For instance, The ItemByIndex property is the default property for Items object, so the following statements are equivalents: ComboBox1.Items(0), ComboBox1.Items.ItemByIndex(0). Use the FirstVisibleItem and NextVisibleItem properties to enumerate the items as they are sorted.

The following VB sample enumerates all items in the control:

Dim i As Long, n As Long
With ComboBox1.Items
    n = .ItemCount
    For i = 0 To n - 1
        Debug.Print .ItemByIndex(i)
    Next
End With

The following C++ sample enumerates all items in the control:

#include "Items.h"
CItems items = m_combobox.GetItems();
COleVariant vtMissing; V_VT( &vtMissing ) = VT_ERROR;
for ( long i = 0; i < items.GetItemCount(); i++ )
{
	COleVariant vtItem( items.GetItemByIndex( i ) ), vtColumn( long(0) );
	CString strCaption = V2S( &items.GetCellCaption( vtItem, vtColumn ) ), strOutput;
	strOutput.Format( "Cell: '%s'\n", strCaption );
	OutputDebugString( strOutput );
}

The following VB.NET sample enumerates all items in the control:

With AxComboBox1
    Dim i As Integer
    For i = 0 To .Items.ItemCount - 1
        Debug.Print(.Items.CellCaption(.Items(i), 0))
    Next
End With

The following C# sample enumerates all items in the control:

EXCOMBOBOXLib.Items items = axComboBox1.Items;
for (int i = 0; i < items.ItemCount; i++)
{
	object caption = items.get_CellCaption(items[i], 0);
	string strCaption = caption != null ? caption.ToString() : "";
	System.Diagnostics.Debug.WriteLine(strCaption);
}

The following VFP sample enumerates all items in the control:

with thisform.ComboBox1.Items
	local i
	for i = 0 to .ItemCount - 1
		.DefaultItem = .ItemByIndex( i )
		wait window nowait .CellCaption(0,0)
	next
endwith