nochmal CTreeCtrl



  • ich hab nochmal eine frage zum CTreeCtrl
    ich möchte alle geöffneten elemente meines baumes schliessen

    also sowas in der art:

    m_Tree.Expand(hRoot, TVE_COLLAPSE);
    

    nur weiss ich ja noch nicht welche alle geöffnet sind.
    kann ich das herausbekommen, ohne den ganzen baum durchgehen zu müssen?
    der hat dafür nämlich zuviele einträge...



  • jo, also du kannst zB nur durch alle sichtbaren items durchiterieren und dann die knoten schliessen, geht mittels CTreeCtrl::GetNextItem uebergeben musst du dem mW TVGN_NEXTVISIBLE. allerdings bezweifle ich nach wie vor, dass es einen sooo grossen, noch halbwegs uebersichtlichen baum gibt, bei dem man nicht entweder den baum einfach kurz komplett neu aufbaut oder eben alle items durchgeht. du hast ja zB jezz auch das problem, dass der user unter einem bereits geschlossenen item noch geoeffnete items haben koennte. dh, du schliesst alle visible items und wenn er dann des falsche aufmacht, wird der baum ploetzlich 5 mal so gross, weil er an der stelle vorher schon gearbeitet hat und die noch offen sind.
    nochmal die alte frage: wieviele items hat dein baum?

    Esco


Anmelden zum Antworten