Wie kann ich eine CListCtrl
erstellen, um die Breite ihrer Spalten automatisch zu ändern? Wenn ein Element in der Liste zu lang wird, verschwindet das Backend normalerweise aus der Ansicht und der Benutzer muss die Breite der entsprechenden Spalte manuell ändern. Gibt es eine Möglichkeit, dies durch Code zu tun?Automatische Größenänderung von Spaltenbreiten in einer CListCtrl
Antwort
die Spalten automatisch Ändern der Größe ist einfach:
for(int i = 0;i < pListCtrl->GetHeaderCtrl()->GetItemCount();++i)
pListCtrl->SetColumnWidth(i,LVSCW_AUTOSIZE_USEHEADER);
Diese Spalten optimieren.
Haben Sie die Option "Kein Scroll"? Standardmäßig (Option "Kein Bildlauf" aus), wenn ein Element zu lang wurde, würde eine Bildlaufleiste erscheinen.
Ich nehme an, Sie meinen ein Listensteuerelement im Berichtsmodus? Leider gibt es keine Möglichkeit, Spalten automatisch zu skalieren. Was Sie tun können (was ich an einigen Stellen tue) ist, dass Sie die Breite von Spalten berechnen, wenn Sie Elemente eingeben, dann behandeln Sie WM_SIZE und ändern Sie die Größe der Spalten. Dies führt jedoch dazu, dass Änderungen, die der Benutzer vorgenommen hat, verloren gehen. Daher benötigen Sie möglicherweise einen besseren Algorithmus wie Tracking, wenn der Benutzer Änderungen vorgenommen hat, wenn er die Größe nicht geändert hat. Aus UX-Perspektive ist es nicht sehr nett, ich verwende es nur in einer bestimmten Anzahl von Situationen, in denen das Verhalten im Kontext der restlichen Benutzeroberfläche sinnvoll ist.
Ja das ist genau das, was ich meinte. Danke für die Antwort, wenn ich keinen passenden Algo bekomme, handle ich einfach mit OnSize() um die Größe manuell zu ändern und bitte den Leser, die Größe des Fensters zu ändern. – Isuru
- 1. Automatische Größenanpassung der JTable-Spaltenbreiten
- 2. Textfeld für die automatische Größenänderung
- 3. CListCtrl Zeigt CListCtrl nur gefüllte Zeilen an?
- 4. Wasserzeichen Bild in CListCtrl
- 5. CListCtrl Gitterlinienbreite
- 6. Individuelle Spaltenbreiten von Jtable in Netbeans
- 7. DataGridView Spaltenbreiten als Prozentsatz
- 8. clistctrl Auswahl programmgesteuert
- 9. MFC CListCtrl OnToolTipNotify
- 10. Setzen von Zellen-/Spaltenbreiten auf einer Prawn-Tabelle
- 11. Größenänderung von Labels
- 12. Align Bokeh Datatable Spaltenbreiten
- 13. C# iTextSharp AutoAdjust Spaltenbreiten
- 14. EventListener nach einer Größenänderung entfernen
- 15. Animieren von UITableView Größenänderung
- 16. Größenänderung einer Figur automatisch in Matplotlib
- 17. So unterstreichen Sie einzelne Elemente in einer CListCtrl
- 18. Python XLWT justieren Spaltenbreiten
- 19. Spaltenbreiten in renderDataTable einer glänzenden App ohne Stretching
- 20. Tabseite Größenänderung
- 21. Wie kann ich benutzerdefinierte Spaltenbreiten in einer JTable verwalten?
- 22. CListCtrl Vertikale Bildlaufleiste in der Listenansicht
- 23. Wie behandelt man Eigenschaften Schlüssel in CListCtrl?
- 24. Einfache Größenänderung von UIImage in XCODE
- 25. Größenänderung von Bildern in C# ohne Glättung
- 26. Tabellenlayout: behobenes Problem mit Spaltenbreiten
- 27. Layout einer Ansicht nach der Größenänderung
- 28. WPF Datagrid-Spaltenbreiten und Neuordnen
- 29. Reibungslose Größenänderung eines Diagramms und einer Kartenansicht
- 30. VS2013 Spaltenbreiten auf Quickwatch-Fenster
Hey, ich habe es versucht und es scheint gut zu funktionieren :) :) Vielen Dank für die Antwort dwo: D – Isuru
Eine kleine Frage dwo, ich habe noch nie von HeaderControl gehört. Was genau ist es ??? Vielen Dank !!! – Isuru
Das Header-Steuerelement ist der obere Teil des Listensteuerelements mit den darin enthaltenen Spaltenüberschriften. – dwo