property Items.NextSiblingItem (Item as HITEM) as HITEM

Retrieves the next sibling of the item in the parent's child list.

TypeDescription
Item as HITEM A long expression that indicates the item's handle.
HITEM A long expression that indicates the handle of the next sibling item.

The NextSiblingItem property retrieves the next sibling of the item in the parent's child list. Use ItemChild and NextSiblingItem properties to enumerate the collection of child items. 

The following VB function recursively enumerates the item and all its child items:

Sub RecItem(ByVal c As EXG2ANTTLibCtl.G2antt, ByVal h As HITEM)
    If Not (h = 0) Then
        Dim hChild As HITEM
        With c.Items
            Debug.Print .CellValue(h, 0)
            hChild = .ItemChild(h)
            While Not (hChild = 0)
                RecItem c, hChild
                hChild = .NextSiblingItem(hChild)
            Wend
        End With
    End If
End Sub

The following C++ function recursively enumerates the item and all its child items:

void RecItem( CG2antt* pG2antt, long hItem )
{
	COleVariant vtColumn( (long)0 );
	if ( hItem )
	{
		CItems items = pG2antt->GetItems();

		CString strCaption = V2S( &items.GetCellValue( COleVariant( hItem ), vtColumn ) ), strOutput;
		strOutput.Format( "Cell: '%s'\n", strCaption );
		OutputDebugString( strOutput );

		long hChild = items.GetItemChild( hItem );
		while ( hChild )
		{
			RecItem( pG2antt, hChild );
			hChild = items.GetNextSiblingItem( hChild );
		}
	}
}

The following VB.NET function recursively enumerates the item and all its child items:

Shared Sub RecItem(ByVal c As AxEXG2ANTTLib.AxG2antt, ByVal h As Integer)
    If Not (h = 0) Then
        Dim hChild As Integer
        With c.Items
            Debug.WriteLine(.CellValue(h, 0))
            hChild = .ItemChild(h)
            While Not (hChild = 0)
                RecItem(c, hChild)
                hChild = .NextSiblingItem(hChild)
            End While
        End With
    End If
End Sub

The following C# function recursively enumerates the item and all its child items:

internal void RecItem(AxEXG2ANTTLib.AxG2antt  g2antt, int hItem)
{
	if (hItem != 0)
	{
		EXG2ANTTLib.Items items = g2antt.Items;
		object caption = items.get_CellValue( hItem, 0 );
		System.Diagnostics.Debug.WriteLine(caption != null ? caption.ToString() : "");

		int hChild = items.get_ItemChild(hItem);
		while (hChild != 0)
		{
			RecItem(g2antt, hChild);
			hChild = items.get_NextSiblingItem(hChild);
		}
	}
}

The following VFP function recursively enumerates the item and all its child items ( recitem method ):

LPARAMETERS h

with thisform.G2antt1
    If ( h != 0 ) Then
        local hChild
        With .Items
        	.DefaultItem = h
            wait window .CellValue(0, 0)
            hChild = .ItemChild(h)
            do While (hChild != 0)
                thisform.recitem(hChild)
                hChild = .NextSiblingItem(hChild)
            enddo
        EndWith
    EndIf
endwith