ComboBox - Abhängig voriger wahl Strings änder??



  • Hi Leute!

    Ich hab zwar ein einfaches beispiel, aber leider dazu ein Problem.

    Ich hab zwei Comboboxen.

    ComboBox1

    Name: ICD_COMBO1
    Variable: m_ctrLand
    Typ: Value
    Content: CString

    Der DATA Inhalt von Properties: Deutschland
    Schweiz
    Österreich

    ComboBox2

    Name: ICD_COMBO2
    Varibale: m_ctrStadt
    Typ: Variabel <-- oder so was ähnliches
    Content: ComboBox

    Der DATA Inhalt von Properties ist leeeer!

    Meine Frage an Euch:

    Wie kriege ich es hin, dass wenn man aus COMBO1 "Deutschland" wählt, dass dann in COMBO2 drei Städte wie "Hamburg, Freiburg, Dresden" auswählbar sind?

    Bei Schweiz und Österreich das gleiche.

    Folgendes hab ich schon gmacht:

    if(m_ctrLand == "Deutschland")
    	{
    		m_ctrStadt.SetWindowText("Hamburg\nBerlin\nFreiburg\nMünchen\nKöln");
    	}
    		if(m_ctrLand == "Schweiz")
    	{
    		m_ctrStadt.SetWindowText("Bern\nZürich\nAarau\nOlten\nLuzern");
    	}
    			if(m_ctrLand == "Österreich")
    	{
    			m_ctrStadt.SetWindowText("Wien\nGraz\nLauterbach\nSalzburg")
    	}
    

    Nun, also m_ctrStadt.SetWindowText("STADT"); funktioniert nicht, COMBO2 bleibt leer! Hab keine Ahnung, wirklich nich, wie man so etwas macht...

    mfg
    Pro

    PS: Dank zum Vorraus
    ---Restarter in VC++--- (Seit 3Jahren nimma programmiert und fast alles vergessen!) 😃



  • SetWindowText?
    Nein - CComboBox::AddString.



  • Nemesyzz schrieb:

    SetWindowText?
    Nein - CComboBox::AddString.

    und wie?

    CComboBox::AddString.m_strStadt("Test"); ??



  • Programmer schrieb:

    Seit 3Jahren nimma programmiert und fast alles vergessen!

    Wie war. 😉

    1. Möglichkeit:
    Membervariable zu deiner ComboBox anlegen (Control - nicht Value!)

    m_myCombo.AddString("Berlin");
    

    2. Möglichkeit:

    CComboBox* combo = static_cast<CCbomboBox*> (GetDlgItem(IDC_MYCOMBO));
    combo->AddString("Berlin");
    

    Vorher CComboBox::ResetContent() aufrufen.



  • Vielen Dank, doch da wird NIX angezeigt!

    Bei beiden möglichkeiten nicht, auch wenn ich UpdateData(TRUE); oder so noch hinschreibe...



  • du musst noch einen Eintrag auswählen.

    m_cbx.SelCurSel(0);

    Dann sollte der erste Eintrag gewählt sein.


Anmelden zum Antworten