65.9K
CodeProject is changing. Read more.
Home

Store and show Tree struct in a Combobox

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.52/5 (14 votes)

Aug 1, 2002

GPL3
viewsIcon

140868

downloadIcon

4090

Store and show Tree struct in Combobox

Sample Image - CWzCombox.gif

Introduction

I am working in a CAPP project which based on database. We often use combo-box to show all table in database to user and let user select a table, it's a simple way, not only for the user but also for coder. In some condition, there is special relationship between one table and another table, the simple combo-box can't describe it. I write a new class to deal with this condition.

I use a struct to store the relationship between items (tables):

typedef struct tagITEMDATA
{
    WORD wParantOriginIdx; //the root item's parent is nRootIndex
    WORD wOriginIdx; //Original index when first insert to listbox
    BYTE cType;
    BYTE cLevel;
}ITEMDATA,*LPITEMDATA;
  • wParantOriginIdx is the item's parent original index (the index when it was first insert to combo-box), the index of items may change when you add or delete items, so we should keep it.
  • wOriginIdx is item's original index.
  • cType mark the item type, maybe use for other special .
  • cLevel is the level of items, children level is higher than parents.

This struct is the core of CWzCombox class, please check source code for detail.