Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Forum,

ich habe ein CListCtrl und lade darin ca. 50.000 Einträge. Leider ist der Aufbau sehr langsam und ich frage mich, ob dies Optimiert werden kann.

Nachfolgend seht Ihr meinen Code, mit dem ich das CListCtrl beschreibe:


// Überschrift setzen

for (int i=0; i<m_strColumnName.GetCount(); ++i)

	m_PersonalList.InsertColumn(i, m_strColumnName[i].GetString(), LVCFMT_LEFT, 500);


// int iCounter = m_strListCtrl[i].GetCount();

int iCounter = m_strColumnName.GetCount();


// Liste mit Daten laden

for (int i=0; i<m_strListCtrl.GetCount(); ++i)

{

	this->m_PersonalList.InsertItem(i, m_strListCtrl[i][0].GetString());


	for (int j=0; j<m_strListCtrl[i].GetCount(); ++j)

	this->m_PersonalList.SetItemText(i, j, m_strListCtrl[i][j].GetString());

}

Weiterhin würde ich gerne immer den ersten Satz markieren und markiert lassen, wenn der Fokus verlassen wird, aber irgendwie will das auch nicht klappen. Nachfolgend mein Code:

// Erste Zeile markieren

if (this->m_PersonalList.GetSelectionMark() == -1)

	this->m_PersonalList.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);

Beste Grüße aus Gießen

Patrick

Geschrieben

Weiterhin würde ich gerne immer den ersten Satz markieren und markiert lassen, wenn der Fokus verlassen wird, aber irgendwie will das auch nicht klappen. Nachfolgend mein Code:


// Erste Zeile markieren

if (this->m_PersonalList.GetSelectionMark() == -1)

	this->m_PersonalList.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);

Beste Grüße aus Gießen

Patrick

Ich glaube das geht nicht so einfach, wenn der Focus verlassen wird, nützt dir das bestimmt nichts. Aber du könntest dir den Index merken und wenn das Element wieder den Focus erhält, den Eintrag markieren.

Geschrieben
ich habe ein CListCtrl und lade darin ca. 50.000 Einträge. Leider ist der Aufbau sehr langsam und ich frage mich, ob dies Optimiert werden kann.
Ja. Benutz ein virtuelles List Control.

Virtual List Controls

Weiterhin würde ich gerne immer den ersten Satz markieren und markiert lassen, wenn der Fokus verlassen wird, aber irgendwie will das auch nicht klappen.
Die Auswahl eines List Controls wird vom Focus gar nicht beeinflusst. Allerdings zeigt das List Control seine Auswahl normalerweise nicht mehr an, wenn es den Focus verliert - es sei denn, du benutzt LVS_SHOWSELALWAYS.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...