Combo Box Item schreiben
-
Hi @ all
wie kann ich in ne ComboBox schreiben (Items)?
Und wie kann ich dann abfgragen welchen der user angeklickt (ausgewählt) hat??ich sag jetzt schon ma danke

-
Membervariable drauf Typ Control.
m_cMyComboBox.AddString("Erster Eintrag"); // ComboBox füllen m_cMyComboBox.AddString("Zweiter Eintrag"); UpdateData(FALSE); // Ins Dialogfeld schreiben m_cMyComboBox.SetCurSel(0); // Ersten Eintrag anzeigenWas bemerkt?
SetCurSel() setzt den Eintrag.
Was meinst Du, was GetCurSel() macht?
-
Servus,
Du erstellst eine Membervariable von deiner ComboBox oder holst dir den einen Zeiger auf das Control. Mit AddString() kannst du hinzufügen.
Du musst noch eine Funktion erstellen:
Auf Control klick dann unter Properties -> "Control Events" -> CBN_SELCHANGED auswählen. Wenn du dann die neue Funktion erstellt hast dann kannst du folgendes machen:void CDeinDlg::OnCbnSelchangeComboBox() { switch (m_ctrDeineComboMember.GetCurSel()) { case 0 : mach was; break; case 1 : mach was; break; } }Wenn der User jetzt das erste oder zweite Element ausgewähl hat, dann passiert etwas.
Mit FindString() kannst du auch noch explizit nach Inhalten suchen lassen. Mit GetWindowText() bekommst du den Text des aktuellen Element.
Viel Spaß
*winke*
HellsgoreEDIT:
Trikor hat natürlich recht. Habe nur geschrieben weil ich sein Post noch nicht gesehen hatte *g*
-
seit wann muss man bei combobox update data machen??
also bei meinem .net brauch ich das nicht
gruss fletscher
-
Ups

@fletscheruDa hast Du natülich recht, muß man bei einer ComboBox natürlich nicht. Macht der Gewohnheit immer Daten auszutauschen.
@kloppi
Beachte bitte das UpdateData(FALSE); aus posting 1 nicht.

-
ich hätte da auch noch ne Frage zur ComboBox. Ich hab einen ATL-Dialog der aufpoppt, wenn ich auf einen Button drücke. In diesem ATL-Dialog hab ich per Toolbox eine ComboBox eingefügt.
Ich möchte nun das beim Drücken des Buttons und Zeigen des Dialogs schon ein Wert in der ComboBox steht. Ich habe eine memberVariable vom Typ CComboBox hinzugefügt. Doch wenn ich bei ClickedOk dann versuche auf dieser AddString aufzurufen, bekomme ich zur Laufzeit ein Debug Assertion Failure.
Wieso bekomme ich eigentlich wenn ich versuche die Variable über den Assistenten hinzuzufügen, einen Fehler "Fehlendes Objekt".