# Item einer Combobox hinzufügen



## DanielKobzan (15. April 2002)

Wie kann ich einen Wert (String) in eine Combo box adden und zwar so, dass der alte Inhalt nicht überschrieben wird und der neue Teil einfach unten drangesetzt wird.

Und wie kann man diese Combobox dann wieder säubern, so dass kein Wert mehr drinsteht.

Habs schon mit

```
m_Test.Addstring("Test");
```
versucht, da gibt er aber eine Kernelfehlermeldung. Irgendwas mit

File: afxcmn2.inl
Line: 277


----------



## Christian Fein (16. April 2002)

Immer bitte dazu angeben welche Library (MFC von Visual C++ , VCL vom Borland Builder ....oder gar WinApi)
Aufgrund der m_ var geh ich mal davon aus das du den Visual C++ meinst.

Also ich seh auf anhieb 2 Fehler.

Normalerweise holst du dir einen Pointer auf ein Control :

CListBox* Test = (CListBox*)GetDlgItem(IDC_LISTDB);

Womit der . operator falsch waehre !
 -> ist besser

2. Die methode heisst AddString() nicht Addstring() da ist der 2. Fehler


----------



## Christian Fein (16. April 2002)

Noch ein Tip 
nimm niemals die letzte Fehlermeldung! Die sagt nichts aus.
Bei etwas in der Art gibts immer gleich 20 - 30 
nimm die erste dann verschwinden gaaanz oft 29 dazu auch gleich mit!


----------



## DanielKobzan (16. April 2002)

Die exe zu erstellen funktioniert ja ohne Probleme und das AddString hab ich auch nur hier falsch geschrieben, Sorry. Aber wenn ich die Exe jetzt durch den Debugger laufen lasse, gibt er mir immer eine Windowsfehlermeldung aus, wenn er an diese Stelle kommt.

Irgendwas

Debug Assertion Failed

Programm: ...\Test.exe
File: afxcmn2.inl
Line: 277


----------



## DanielKobzan (16. April 2002)

Ok, funzt jetzt, hab aus Versehen die erweiterte Combobox genommen.
Danke trotzdem

Nur wie kann ich jetzt den Inhalt dieser Combobox wieder löschen?


----------



## Christian Fein (16. April 2002)

schau mal nach Clear();

wie gesagt wenns VCL ist ists Clear() wenns MFC ist vielleicht auch !

Hast mir ja leider noch nicht gesagt was du nutzt


----------



## DanielKobzan (16. April 2002)

Also, ich hab MFC. Es gibt zwar diese Clear() Funktion. Nur macht die nichts, wenn ich sie verwende.


----------



## Christian Fein (16. April 2002)

Vergiss das UpdateData() nicht


----------



## DanielKobzan (16. April 2002)

Schon probiert, geht nicht.


----------



## Xeragon (16. April 2002)

> *Clear: * Deletes (clears) the current selection (if any) in the edit control.
> 
> *ResetContent: * Removes all items from the list box and edit control of a combo box.



Einfach in die MSDN schaun


----------



## DanielKobzan (16. April 2002)

Irgendwie klappt das auch nicht.


----------



## Daniel Toplak (16. April 2002)

Tjaja die berühmt berüchtigte Combobox, die wollte ich das erste mal auch schon mit TippEx löschen, da gibt es diese tolle Methode Clear(), toll dachte ich das is es. Und was kam heraus: nix gescheites. *g*. Also hab ich dann DeleteItem gefunden, aber siehe VC++ will da eine LPDELETEITEMSTRUCT. Na dachte ich mir, das kann es doch nicht sein, bis ich auf folgende Methode gestoßen bin:


```
m_cboTest.ResetContent();
/* Achtung m_cboTest muss eine Control-Variable auf die ComboBox sein, Geht natürlich auch mit einem Zeiger:
*/
m_pcboTest->ResetContent();
```



> Zitat aus der MSDN:
> *
> CComboBox::ResetContent
> void ResetContent( );
> ...



Gruss Homer


----------



## Christian Fein (17. April 2002)

Ich weis nicht wo da probleme auftauchen sollten ?

Ich habe hier Clear() genutzt und das funktioniert in einem Programm seid x zeiten ohne probleme !


----------



## DanielKobzan (18. April 2002)

Ok, funzt jetzt, hab die () hinter ResetContent vergessen. Danke

Wie kann ich die Box jetzt aber wieder auslesen?


----------



## DanielKobzan (18. April 2002)

Hat sich erledigt.


----------

