CListCtrl - Items werden nicht unten angehängt



  • Hallo,

    ich benutze eine CListCtrl. Es funktioniert alles soweit. Wenn ich Item einfüge, dann sollen die Items ganz normal untereinander (im Grunde wie bei einer ListBox) eingefügt werden - nicht nebeneinander oder sonst wie...

    Das macht er auch, jedoch wenn der Platz ausgefüllt ist, kommt keine vertikale Scrollbar oder so, sondern die Items werden jetzt nebeneinander angeordnet und es erscheint eine horizontale Scrollbar....:(...

    ????Wie kann ich dieses Verhalten wie gewünscht ändern???? Muß man da von Hand irgendwie ne vertikale Scrollbar einfügen und wenn ja, wie geht das??...

    Die ListCtrl ist mit folgenden Eigenschaften im Editor erstellt worden:
    View: List
    Align: Top
    Sort: None

    No Column header angeklickt
    No Sort header angeklickt

    ...Im übrigen verwende ich WindowsCE mit dem VisualEmbedded Studio, aber das sollte potentielle Helfer nicht abhalten...

    BESTEN DANK für jede HILFE.



  • Du musst dem Steuerelement das von CListCtrl genutzt wird den Wert Bericht bei der Eigenschaft Ansicht einstellen.



  • Hallo,

    danke für die Antwort. Irgendwie klappt das mit view property = Report nicht so richtig....

    Zunächst einmal, jedes ListItem besteht enthält zusätzlich ein Icon - geht das mit der Report-Eigenschaft überhaupt??...

    Ich hab das eben mal kurz ausprobiert - leider wurden meine ListItems dann gar nicht mehr angezeigt...:(....



  • Von was für einem Typ ist dein Steuerelement? ListBox oder Listenelement?



  • Ich versteh jetzt nicht ganz die Frage...also es ist eine List Control...Die Klasse ist von CListCtrl abgeleitet und im Resourceneditor steht im Tooltip List Control dran...Es ist keine List Box....die konnte ich irgendwie nicht benutzen, weil das bei WindowsCE nicht so richtig mit der Icon-Anweige geklappt hat...deswegen hab ich irgendwann ne CListCtrl benutzt mit der Eigenschaft View = List...



  • So,
    ich hab das selbst nochmals in ner kleinen Dialoganwendung versucht und es hat geklappt.
    Hab mir ne CImageList erstellt in der ich das Icon reingeladen habe.
    Beim einfügen der Items habe ich ebenfalls das Icon mit angegeben.
    Bei der ganzen Sache habe ich festgestellt, dass du auch wenn du die Spaltenüberschrift nicht anzeigen tust du eine Spalte hinzu fügen musst.
    http://mitglied.lycos.de/guenni1981/CListCtrl.png

    Deklaration in der .h Datei:

    private:
    	CImageList m_imagelist;
    

    Und in der OnInitDialog Funktion:

    // ZU ERLEDIGEN: Hier zusätzliche Initialisierung einfügen
    	CListCtrl *pList = (CListCtrl*)GetDlgItem(IDC_LIST1);
    	pList->SetImageList(&m_imagelist,LVSIL_SMALL);
    	pList->InsertColumn(0,"Spalte 1",LVCFMT_LEFT,100); // Lasst man das hier weg, bekommt man nichts angezeigt!
    	pList->InsertItem(0,"Hallo",0);
    	pList->InsertItem(1,"Welt",0);
    


  • Hi,

    danke für deine Hilfe - es klappt jetzt....Noch ein kleiner Hinweis, für alle, die auch damit kämpfen....bei mir gibt es Assertions, wenn ich das "Owner Draw Fixed" angeklickt habe....keine Ahnung wieso...es soll ja nur funktionieren...:)...bis dann....



  • Funktioniert das auch in der Release-Version? Trotz Assertions?


Anmelden zum Antworten