property Items.CellImages ([Item as Variant], [ColIndex as Variant]) as Variant
Specifies an additional list of icons shown in the cell.

 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.   
   Variant A string expression that indicates the list of icons shown in the cell.  
Use the CellImages property to assign multiple icons to a cell. The CellImage property assign a single icon to the cell. The CellImages property takes a list of additional icons and display them in the cell. The list is separated by ','  and should contain numbers that represent indexes to Images list collection. Use the Images method or ReplaceIcon property to update the list of icons in the control, at runtime. The CellImageClick event occurs when the cell's image is clicked. Use the ItemFromPoint property to determine the index of the icon being clicked. Use the CloseOnDblClick property to specify whether the user closes the drop down portion of the control by a single or double click. Use the CellPicture property to load a custom size picture to a cell. Use the <img> HTML tag to insert icons inside the cell's caption, if the CellCaptionFormat property is exHTML.

The following VB sample assign first and third icon to the cell:

With ComboBox1.Items
        .CellImages(.ItemByIndex(0), 1) = "1,3"
End With

The following VB sample displays the index of the icon being clicked in a cell:

Private Sub ComboBox1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim i As HITEM, h As HitTestInfoEnum, c As Long
    With ComboBox1
        i = .ItemFromPoint(X / Screen.TwipsPerPixelX, Y / Screen.TwipsPerPixelY, c, h)
    End With
    If (i <> 0) Or (c <> 0) Then
        If exHTCellIcon = (h And exHTCellIcon) Then
            Debug.Print "The index of icon being clicked is: " & (h And &HFFFF0000) / 65536
        End If
    End If
End Sub

The following C++ sample displays the index of the icon being clicked in a cell:

void OnMouseUpCombobox1(short Button, short Shift, long X, long Y) 
{
	long c = 0, hit = 0, i = m_combobox.GetItemFromPoint( X, Y, &c, &hit );
	if ( i != 0 )
		if ( 68 /*exHTCellIcon*/ == (hit & 68 /*exHTCellIcon*/ ) )
		{
			CString strOutput = V2S( &m_combobox.GetItems().GetCellCaption(COleVariant(i), COleVariant(c) ) );
			strOutput += " Index = ";
			strOutput += V2S(COleVariant(hit >> 16));
			strOutput += "\r\n";
			OutputDebugString( strOutput );
		}
}

The following VB.NET sample displays the cell from the cursor:

Private Sub AxComboBox1_MouseUpEvent(ByVal sender As Object, ByVal e As AxEXCOMBOBOXLib._IComboBoxEvents_MouseUpEvent) Handles AxComboBox1.MouseUpEvent
    With AxComboBox1
        Dim i As Integer, c As Integer, hit As EXCOMBOBOXLib.HitTestInfoEnum
        i = .get_ItemFromPoint(e.x, e.y, c, hit)
        If (i >= 0) Then
            If (hit And EXCOMBOBOXLib.HitTestInfoEnum.exHTCellIcon) = EXCOMBOBOXLib.HitTestInfoEnum.exHTCellIcon Then
                Debug.WriteLine(.Items.CellCaption(i, c) & " Index = " & ((hit And &HFFFF0000) / 65536))
            End If
        End If
    End With
End Sub

The following C# sample displays the cell from the cursor:

private void axComboBox1_MouseUpEvent(object sender, AxEXCOMBOBOXLib._IComboBoxEvents_MouseUpEvent e)
{
	EXCOMBOBOXLib.HitTestInfoEnum hit;
	int c = 0, i = axComboBox1.get_ItemFromPoint(e.x, e.y, out c, out hit);
	if (i != 0)
		System.Diagnostics.Debug.WriteLine(axComboBox1.Items.get_CellCaption(i, c).ToString() + " Index = " + (Convert.ToUInt32(hit) >> 16).ToString());
}

The following VFP sample displays the cell from the cursor:

*** ActiveX Control Event ***
LPARAMETERS button, shift, x, y

local c, hit
c = 0
hit = 0
with thisform.ComboBox1
	.Items.DefaultItem = .ItemFromPoint( x, y, @c, @hit )
	if ( .Items.DefaultItem <> 0 )
		if ( bitand( hit, 68 )= 68 )
			wait window nowait .Items.CellCaption( 0, c ) + " Index=" + Str( Int((hit - 68)/65536) )
		endif
	endif
endwith

 


Send comments on this topic.
1999-2017 Exontrol.COM, Software. All rights reserved.