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
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.