Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hi,

ich stehe hier for einem kleinen problem,

ich möchte alle einträge aus einer CListBox löschen.

hab mitlerweile vieles versucht, aber es bleibt immer einer übrig.

das codebeispiel stammt aus der msdn, aber auch da bleibt immer ein eintrag

übrig.

ich das ganze jetzt mal auf einen button gelegt, den muss ich aber immer 2mal drücken, damit der letzteintrag auch verschwindet.

was mach ich falsch???

void CMp3ListDlg::OnLoeschen() 

{

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

		{

		m_ctlListFile.DeleteString( i );

		}

		UpdateData(false);

}

ciao TinTin

Geschrieben

Überleg doch mal genau, was der Code macht: Angenommen, deine Listbox hat drei Einträge, dann löscht zu zuerst den Eintrag mit dem Index 0, zwei bleiben übrig. Dann löschst du den Eintrag mit dem Index 1, bleibt einer. Dann willst du den Eintrag mit dem Index 2 löschen. Aber es ist ja nur noch einer drin, und der hat den Index 0 ;)

Geschrieben

ok, ok ...

zuerst hab ich es so


if (m_ctlListFile.GetCount() > 0)

{

	while (m_ctlListFile.GetCount() != 0)

	{

		m_ctlListFile.DeleteString( 0 );

	}

}

gemacht. dann hab ich den eigentlichen fehler gefunden.

ich hab die msdn nicht richtig gelesen, aber warum einfach wenn es auch

schwierig geht.

:floet:

ps: war ne weile weg, sorry das ich nicht früher auf eure post reagiert habe

Geschrieben

Entweder so. Oder wenn du nur bestimmte Einträge aus der Listbox löschen möchtest einfach den Counter Rückwärts von dem maximalen Wert bis 0 laufen lassen. Also entgegen zu deinem Beispiel umdrehen.

Geschrieben

Du könntest auch ganz einfach:

while (m_ctlListFile.GetCount() != 0)

{

m_ctlListFile.DeleteString( 0 );

}

machen, da die Schleife nur durchlaufen wird, wenn ein Wert vorhanden ist :)

Dadurch sparst du die IF-Abfrage.

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...