Help!! Zeilenfolge bei ListCtrl verändern???



  • Hi Leute!

    Kann mir einer sagen wie ich das am dümmsten machen soll das in einem ListCtrl der neuste Eintrag nicht immer Oben steht, sondern Unten. So wie es
    z.B. in einer ListBox der Fall ist. Es soll aber kein Sortierverhalten aufweisen, die Reihenfolge der Zeilen soll nur andersrum sein das ist alles. Hoffe mir kann einer Helfen! Um Antworten wie guck im FAQ, benutz SUCHEN, vorzubeugen, ich hab schon alles was mit ListCtrl zu tun hat angeguckt aber nix passendes gefunden!

    Gruss
    Artur



  • Du setzt bei den Eigenschaften der ListCtrl einfach Sortieren auf False (VS.NET).
    Wenn Du jetzt InsertItem aufrufst, sollte das Element immer am Ende angefügt werden.



  • hi MuehBln,
    bei mir steht Sort bereits auf none. Mit InsertItem wird der Eintrag trotzdem immer oben eigefügt. Da gibts doch bestimmt ein Trick oder sowas? Das .Net2003 ist sowieso etwas eigensinnig.

    hier die Betreffenden Zeilen:

    void CMyDlg::ShowList(CListCtrlStyled* cZiel, CString strNoteNumber, CString strNoteName,CString strComment, int iFarbnummer, BOOL bR)
    {
    		if (bR==TRUE)
    			cZiel->DeleteAllItems();
    		else	
    		{
    			cZiel->InsertItem(0, strNoteNumber, 0);
    			cZiel->SetRowBgColor(0, m_crColors[iFarbnummer]);
    			cZiel->SetRowStyle(0,LIS_BGCOLOR);
    			cZiel->SetItemText(0,1,strNoteName);
    			cZiel->SetItemText(0,2,strComment);
    		}
    }
    


  • Hallo !

    Der erste Parameter von InsertItem(...) ist der Index, bei dem eingefügt wird...
    Vielleicht klappt es ja, wenn du den durch
    cZiel->GetItemCount()
    ersetzt.

    Tschüss



  • gailo! hat geklappt, big thnx @isabeau


Anmelden zum Antworten