Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++ mfc]uso proprietà tag mancante

    ciao.
    Ho una treeview in c++ (mfc)
    In c# usavo mettere oggetti personalizzati (mie classi con parametri e dati) nella proprietà .tag del nodo (treenode), in modo da recuperarli al cambiamento di un nodo , nell' after select ,facendo un cast e avendo a disposizione tutte le proprieta di quell'oggetto personalizzato.
    In c non ci sono riuscito , infatti l'insertitem della treeview non accetta oggetti e non c'è neanche una proprieta tag.
    ho notato che non esistono classi del tipo treenode , bensi' strutture,e non so se si possono ereditare(credo proprio di no)
    un aiuto?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    up

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    ho visto che si puo' utilizzare il setitemdata ma non ho capito come

  4. #4
    Passa un puntatore all'oggetto che vuoi associare al TreeItem come secondo parametro di SetItemData.
    codice:
    tuaClasse * tC = new tuaClasse();
    //...
    tuoTreeCtrl.SetItemData(handleItem, (DWORD) tuaClasse);
    //...
    (tuaClasse *)(tuoTreeCtrl.GetItemData(handleItem))->tuoMetodo();
    //...
    delete tC;
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    quando lo distruggo l'oggetto?
    grazie

  6. #6
    Quando non ti serve più. In alternativa puoi dichiarare l'oggetto a livello di classe in modo che venga distrutto automaticamente quando viene distrutta la classe.
    codice:
    class tuaClasse : CDialog //o quello che è
    {
        //...
        tuaClasse tuoOggetto();
        //...
    }
    
    tuaClasse::tuoMetodo()
    {
        //...
        tuoTreeCtrl.SetItemData(handleItem, (DWORD) &tuoOggetto);
        //...
    }
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    grazie.
    Ma come è piu' giusto in oop volendo popolare dei campi edit su un dialog con i contenuti del mio oggetto(a sua volta contenuto del nodo della ctree)?
    Fare il cast sul getitemdata e poi chiamare un metodo che popola i campi edit?
    o come?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    up

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.