Checks if the specific item fits the control's client area.
Type | Description | |||
Item as HITEM | A long expression that indicates the item's handle. | |||
Partially as Variant | A boolean expression that indicates whether the item is partially visible or not. If the Partially parameter is missing, the True value is used. | |||
Boolean | A boolean expression that indicates whether the item fits the client area. |
To make sure that an item fits the client area call EnsureVisibleItem method. Use the FirstVisibleItem, NextVisibleItem and IsItemVisible properties to get the items that fit the client area. Use the NextVisibleItem property to get the next visible item. Use the IsVisibleItem property to check whether an item fits the control's client area.
The following VB sample enumerates the items that fit the control's client area:
Dim h As HITEM Dim i As Long, j As Long, nCols As Long nCols = Grid1.Columns.Count With Grid1.Items h = .FirstVisibleItem While Not (h = 0) And .IsItemVisible(h) Dim s As String s = "" For j = 0 To nCols - 1 s = s + .CellValue(h, j) + Chr(9) Next Debug.Print s h = .NextVisibleItem(h) Wend End With
The following C++ sample enumerates the items that fit the control's client area:
#include "Items.h" CItems items = m_grid.GetItems(); long hItem = items.GetFirstVisibleItem(); COleVariant vtMissing; V_VT( &vtMissing ) = VT_ERROR; while ( hItem && items.GetIsItemVisible( hItem, vtMissing ) ) { OutputDebugString( V2S( &items.GetCellValue( COleVariant( hItem ), COleVariant( long(0) ) ) ) ); hItem = items.GetNextVisibleItem( hItem ); }
where the V2S function converts a VARIANT value to a string expression and looks like:
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; }
The following VB.NET sample enumerates the items that fit the control's client area:
With AxGrid1.Items Dim hItem As Integer = .FirstVisibleItem While Not (hItem = 0) If (.IsItemVisible(hItem)) Then Debug.Print(.CellCaption(hItem, 0)) hItem = .NextVisibleItem(hItem) Else Exit While End If End While End With
The following C# sample enumerates the items that fit the control's client area:
EXGRIDLib.Items items = axGrid1.Items; int hItem = items.FirstVisibleItem; while ((hItem != 0) && (items.get_IsItemVisible(hItem, null))) { object strCaption = items.get_CellCaption(hItem, 0); System.Diagnostics.Debug.WriteLine(strCaption != null ? strCaption.ToString() : ""); hItem = items.get_NextVisibleItem(hItem); }
The following VFP sample enumerates the items that fit the control's client area:
with thisform.Grid1.Items .DefaultItem = .FirstVisibleItem do while ( ( .DefaultItem <> 0 ) and ( .IsItemVisible( 0 ) ) ) wait window .CellCaption( 0, 0 ) .DefaultItem = .NextVisibleItem( 0 ) enddo endwith