Probleme mit CListCtrl
-
@Uruk: Genau das wundert mich ja auch. Aber das ging nur so. Ich hatte es natürlich zuerst ohne die -1 probiert, da es sich ja beim InsertItem und SetItemText um dieselbe Zeile handeln sollte...
@Mr. Evil: Nee damit hat das rein gar nix zu tun, das ist nur, um die aktuelle Anzahl an Beiträgen rauszufinden und ich will nicht mit 0 bei der Numerierung anfangen.
@estartu: Das könnte eine Lösung sein, ich hab es hier mit dem MS VC 6.0 probiert... ich teste es mal in einer späteren Version...
-
Knaecke schrieb:
Nee damit hat das rein gar nix zu tun,...
Dann sagst du aber, er soll das erste Element an Stelle 1 einfügen. Was ist dann an Stelle 0 (bei der die Zählweise startet) ?
Oder andersrum:
deine Liste enthält ein einziges Element an zweiter Stelle ?!?
-
Knaecke schrieb:
@Mr. Evil: Nee damit hat das rein gar nix zu tun, das ist nur, um die aktuelle Anzahl an Beiträgen rauszufinden und ich will nicht mit 0 bei der Numerierung anfangen.
Du willst vielleicht nicht - aber das CListCtrl fängt bei Null an mit der Zählung.
-
Hab hier mal nen hilfreichen link ausgegraben...
http://www.coding-help.de/listenelement.html
-
CStoll schrieb:
Knaecke schrieb:
@Mr. Evil: Nee damit hat das rein gar nix zu tun, das ist nur, um die aktuelle Anzahl an Beiträgen rauszufinden und ich will nicht mit 0 bei der Numerierung anfangen.
Du willst vielleicht nicht - aber das CListCtrl fängt bei Null an mit der Zählung.
Oh stimmt, hatte ich trotz mehrfachem Lesen übersehen.

Mich hatten einfach nur die unterschiedlichen Idizes in Zeile 7 und 8 iritiert.
-
Apropo Zeile 7 und 8...muss das dann nicht in beiden "-1" sein????
-
CStoll schrieb:
Knaecke schrieb:
@Mr. Evil: Nee damit hat das rein gar nix zu tun, das ist nur, um die aktuelle Anzahl an Beiträgen rauszufinden und ich will nicht mit 0 bei der Numerierung anfangen.
Du willst vielleicht nicht - aber das CListCtrl fängt bei Null an mit der Zählung.
Ok das war der Fehler *g* Dann entschuldige ich mich auch mal bei Mr Evil

Ich hab's nun abgeändert und die 1 nur beim String der Position addiert. Nun geht es. Danke für die schnelle Hilfe. (Mit dem 2003er Studio ging's übrigens auch nicht
)while(file.ReadString(line)){ nListElem = m_pList->GetItemCount(); pos.Format("%3d", nListElem+1); m_pList->InsertItem(nListElem, pos); //Position m_pList->SetItemText(nListElem, 1, line); //Eintrag }Nun hab ich aber noch das Problem, das ich gern die Einträge in der 2. Spalte bearbeiten möchte, das geht bisher aber default-mäßig nur mit der ersten, die zweite kann ich nicht mal markieren. Hat da einer einen Vorschlag? Da muss es doch irgendein Event geben... *such*
-
Knaecke schrieb:
die zweite kann ich nicht mal markieren. Hat da einer einen Vorschlag?
// Immer die gesamte Zeile auswählen SendDlgItemMessage(IDC_LSC_ERGEBNISSE, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP);...oder in der FAQ.

Wegen dem Editieren kann ich dir nur Codeproject ans Herz legen: http://www.codeproject.com/listctrl/
-
*mitsucht*
m_pList->SetExtendedStyle(LVS_EX_FULLROWSELECT);
-
Hm für's Markieren war schon der Link von Uruk ganz hilfreich, aber zum editieren werd ich mir mal den anderen anschauen. Wenn's ein brauchbares Ergebnis gibt, werd ich das mal hier posten, falls später mal noch einer danach sucht

Danke nochmal für die Links. Wenn man selbst sucht findet man irgendwie immer nur die falschen Links bei sowas

EDIT: Hm der Link bei Codeproject ist gut, endlich mal was ausführliches. Sowas hab ich lange gesucht und nie gefunden. Da kann ich wahrscheinlich sogar mehr aus meinem kleinen Tool machen als geplant war

nochmal EDIT: Hab es nun doch anders gelöst, ohne direktes Editieren, daher hab ich doch leider keine Lösung
Damit kann das Thema eigentlich geschlossen werden.