TreeControll mit Icons (nur für einzelen Elemente)



  • Hallo,
    ich möchte mit VC++.net ein TreeControl mit Icons erstellen. Es sollen aber nicht alle Einträge mit einem Icon dargestellt werden.

    Ich habe eine Imageliste erstellt und dem Steuerelement zugewiesen.

    m_ImageList.Create (16, 16, ILC_MASK|ILC_COLOR32, 2, 9) ; 
    m_ImageList.Add( m_IconNotiz );
    m_ImageList.Add( m_IconInfo );
    
    CTreeCtrl *pt_tree = (CTreeCtrl*)GetDlgItem(IDC_MENUE_TREE);
    pt_tree->SetImageList( &m_ImageList, TVSIL_NORMAL );
    

    Leider werden jetzt alle Einträge mit einem Icon angezeigt, bzw. einem leerer Platzhalter, je nach Wert unter iImage.

    TreeCtrlItem.item.mask = TVIF_TEXT | TVIF_PARAM | TVIF_STATE | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
    TreeCtrlItem.item.pszText = cs_menue_txt.GetBuffer(1);
    TreeCtrlItem.item.cchTextMax = cs_menue_txt.GetLength();
    TreeCtrlItem.item.iSelectedImage = 0;
    TreeCtrlItem.item.iImage = i_ImageIndex;
    

    Habe letzte Woche schon viel Zeit in das Problem investiert und weiss nicht mehr weiter 😞 Ich hoffe mir kann jemand helfen!



  • hallo,

    damit deine itemtexte 'formatiert' dargestellt werden, was bedeutet, dass die texte, vor denen sich ein item befindet genausoweit vom baum weg sind, wie die, vor denen sich kein item befindet bleibt dir eigentlich nichts anderes uebrig als ein item mit hintergrunfarbe oder mit hintergrundfarbe mit pukten zu zeichnen und das dann alternativ einzufuegen. ansonsten waeren ja die itemtexte wild im baum hin und hergeschoben.

    Esco



  • Hi,
    gibts es sonst keine alternative dazu?
    Ich werde deinen Vorschlag mal ausprobieren und mal schauen wie das aussieht.

    Danke für die Hilfe


Anmelden zum Antworten