Win32API TreeView child items adden

Plurax

Grünschnabel
Hallo Community.

Nachdem ich es geschafft habe mit einem PHP Script zu kommunizieren nun die nächste Hürde...

Ich habe in einem Dialog einen Treeview, den ich mit einer kleinen Baumstruktur initialisieren will.

Dazu habe ich den Code hier im Netz gefunden.
Code:
HTREEITEM AddItem(HWND hwndTV, LPWSTR lpszItem, HTREEITEM parent, HTREEITEM brother)
{ 
TVITEM tvi;
TVINSERTSTRUCT tvins; 
HTREEITEM hItem; 

  tvi.mask = TVIF_TEXT;
  tvi.pszText = lpszItem; 
  tvi.cchTextMax = lstrlen(lpszItem);  

  // die Insert-Struktur wird vorbereitet
  tvins.item = tvi;
  if (brother)
    tvins.hInsertAfter = brother;
  else 
    tvins.hInsertAfter = TVI_FIRST;

  if (parent)
    tvins.hParent = (HTREEITEM)parent;
  else 
    tvins.hParent = TVI_ROOT;

  // Nachricht zum Einbinden an das Kontrollelement versenden
  hItem = (HTREEITEM)(SendMessage(hwndTV, TVM_INSERTITEM, 0, (LPARAM)(LPTVINSERTSTRUCT)&tvins));
  return (HTREEITEM)hItem;
}

Die Funktion soll bei der Init des Dialogs aufgerufen werden (später aus einer Datei den Inhalt in das Treeview schieben).

Code:
	case WM_INITDIALOG:
    hTree = GetDlgItem(hDlg, IDC_TREE1);
    InitCommonControls();  

    opa = AddItem(hTree, TEXT("Opa"), 0,0);
    papa = AddItem(hTree, TEXT("Papa"), opa,0);
    onkel = AddItem(hTree, TEXT("Onkel"), opa, papa);
    bruder = AddItem(hTree, TEXT("Bruder"), papa, 0);
    ich = AddItem(hTree, TEXT("ich"), papa, 0);

Aber genau da hapert es:
Ich bekomme keine Kindelemente geadded. Wenn ich den Code mit 0 als Parent aufrufe werden brav die Items (alle im Rootlevel) gelistet. Sobald ich aber den Parent übergebe funktioniert das ganze nicht mehr.
Muss ich noch irgendeine Maske setzen damit der Parent berücksichtigt wird?
Beim Debuggen ist mir auch aufgefallen das manchmal die Funktion gar nicht aufgerufen wird, d.h. Breakpoints innerhalb der Funktion wurden manchmal erreicht, manchmal nicht.

Die ganzen Variablen sind in der Hauptdatei als HTREEITEM definiert, die Funktion auch.

Wäre dankbar für Hilfe, wenn das funktioniert ist die MiniApp nahezu fertig...

Thx
Plurax

edit: System ist VC++2008 Express Vista64HP
 
Zuletzt bearbeitet:
Oh Mann

Ich war eigentlich der Meinung das man den Tree mit einem Klick öffnet und nicht mit einem Doppelklick...

ARGH!

Also schön. Funktioniert alles (wenn man ZWEI(!) mal drauf klickt)...
*schäm*
 
Zurück