Statusabfragedifferenzen nach expandieren (treeview)
-
Hallo !
Ich habe ein gefülltes Treeview. Ich möchte gerne herausfinden welches Item gerad markiert ist.
Dazu verwende ich folgenden Code:TVITEM pitem; pitem.hItem = tv_Item; pitem.mask = TVIF_STATE; pitem.stateMask = TVIS_SELECTED; if(!SendMessage(hwnd,TVM_GETITEM,NULL,(LPARAM) (LPTVITEM) &pitem)) return WM_MYCONST_NOTHING; if(pitem.state == TVIS_SELECTED) { //[...] }Komischerweise wird der zweite if-Code nur dann ausgeführt wenn ich das Item noch nicht vorher expandet hab

Bevor ich es expande läuft alles nach plan.
Zwangsläufig komme ich zu dem Schluss, dass pitem.state sich nach dem expandieren irgendwie ändert, aber ich hab keine Ahnung inwiefern bzw wie ich trotzdem rauskriegen kann ob das item angewählt ist oder nicht....
Vielen Dank !
-
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/treeview/treeview.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/treeview/structures/tvitem.asp[edit]
oder TVN_SELCHANGED in WM_NOTIFY amfangen
-
danke für die antwort

Ich habs jetzt in der Tat mit TVN_SELCHANGED gemacht. Das hätte ich zwar dann irgendwann aus purer Verzweiflung sowieso :D, aber immerhin bin ich jetzt fertig mit dem Problem und das ist die Hauptsache.
(Nichtsdestotrotz bin ich von meinem ursprünglichen Ansatz überzeugt, aber mir hilft ja keiner richtig
)
Die beiden Links hab ich auch auffer MSDN-CD gehabt (und auch vor diesem Post eingehend studiert)