TreeView Nachricht funktioniert nicht



  • Hallo zusammen,

    ich hab hier ein ziemlich nervendes Problem, hoffe jmd kann mir helfen.

    Folgenden Code hab ich aus der MSDN, um mir den Status eines TreeView-Items zu erfragen ( ob das Kontrollkästchen am Item checked oder unchecked ist ):

    BOOL TreeView_GetCheckState( HWND hwndTreeView, HTREEITEM hItem )
    {
        TVITEM tvItem;
    
        // Prepare to receive the desired information.
        tvItem.mask = TVIF_HANDLE | TVIF_STATE;
        tvItem.hItem = hItem;
        tvItem.stateMask = TVIS_STATEIMAGEMASK;
    
        // Request the information.
        TreeView_GetItem(hwndTreeView, &tvItem);
    
        // Return zero if it's not checked, or nonzero otherwise.
        return (( BOOL )( tvItem.state >> 12) -1 );
    }
    

    Nach dem Aufruf von TreeView_GetItem müsste sich ja eigentlich der Wert der Variablen tvItem.state ändern. Das tut es aber nicht und er ermittelt einen falschen Wert.
    Woran liegt das? Hab ich irgendwas vergessen zu initialisieren? Also InitCommonControlsEx() mit ICC_TREEVIEW_CLASSES hab ich gemacht.

    Noch ein Hinweis: Ich hab auch schon mal versucht TreeView_DeleteAllItems() zu machen. Auch dieses Makro hat nicht funktioniert.
    Weiß jmd woran das liegt? Wäre sehr dankbar.

    Cosmixx



  • TreeView_GetItem gibt BOOL zurück. Was bekommst du denn da?



  • Hallo MFK,

    jetzt funktionierts. Ich glaub ich hab vorher ein falsches Handle an die Funtkion übergeben. 🙄

    Trotzdem Danke!


Anmelden zum Antworten