L_DicomGetChildIOD

#include "Ltdic.h"

pDICOMIOD EXT_FUNCTION L_DicomGetChildIOD(pIOD)

pDICOMIOD pIOD;

/* pointer to a DICOMIOD structure */

Returns a pointer to the item in the IOD Structure that contains the first child of the specified item.

Parameter

Description

pIOD

Pointer to a DICOMIOD structure that contains an item in the IOD Structure.

Returns

!NULL

A pointer to a DICOMIOD structure that contains the item in the IOD Structure that is the first child of the item specified in pIOD.

NULL

pIOD has no child items.

Comments

This function requires that the IOD Structure is evaluated as a tree structure.

The child is the offspring one level lower than the specified item. If the specified item has no child items, this function will return NULL. For example:

image\GetChild.gif

 

If the passed pointer points to :

The function returns a pointer to :

Item 1

NULL

Item 2

Item 3

Item 4

Item 5

Item 6

NULL

 

The following functions will also help you navigate the IOD Structure:

L_DicomGetFirstIOD

L_DicomGetLastIOD

L_DicomGetNextIOD

L_DicomGetRootIOD

L_DicomGetParentIOD

Required DLLs and Libraries

LTDIC

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application

See Also

Functions:

L_DicomGetFirstIOD, L_DicomGetLastIOD, L_DicomGetNextIOD, L_DicomGetPrevIOD, L_DicomGetCountModuleIOD, L_DicomGetRootIOD, L_DicomGetParentIOD

Topics:

Working with Information Object Definitions

Example

/* This example displays in a tree control the tree of the IOD table */

L_VOID ShowTree(HWND hDlg, HTREEITEM hParentItem, pDICOMIOD pParentIOD)
{
   TV_INSERTSTRUCT tvInsert;
   TV_ITEM         tvItem;
   HTREEITEM       hItem;
   pDICOMIOD       pIOD;

   if (pParentIOD == NULL)
   {
      pIOD = L_DicomGetFirstIOD(pParentIOD, TRUE);
   }
   else
   {
      pIOD = L_DicomGetChildIOD(pParentIOD);
   }

   while (pIOD != NULL)
   {
      tvItem.mask           = TVIF_TEXT;
      tvItem.pszText        = pIOD->pszName;
      tvInsert.hParent      = hParentItem;
      tvInsert.hInsertAfter = TVI_LAST;
      tvInsert.item         = tvItem;

      hItem = (HTREEITEM)SendMessage(hDlg, TVM_INSERTITEM, (WPARAM)0,
                                     (LPARAM)(LPTV_INSERTSTRUCT)&tvInsert);

      if (L_DicomGetChildIOD(pIOD) != NULL)
      {
         ShowTree(hDlg, hItem, pIOD);
      }

      pIOD = L_DicomGetNextIOD(pIOD, TRUE);
   }
}

L_VOID Test(HWND hDlg)
{
   ShowTree(hDlg, TVI_ROOT, NULL);
}