Combobox Type: Dropdown wie Eintrag vorselectieren ?



  • Hallo,

    wie kann ich das oben genannte realisieren? Ich habs mit SetCurSel versucht, das funktioniert nur bei Type= DropList.



  • Servus,

    aba sicha geht das auch mit der Eigenschaft DropDown.

    Membervar von deinem Ctrl erstellen (oder den Zeiger holen) und in der OnInitDialog() deiner Dialogklasse einmal:

    m_ctrCombo.SetCurSel(1);
    

    ausführen. Dann wird dein 2tes Element in der Liste selektiert. Achja und beachte die Eigenschaft Sort, nicht das dir später auffällt, dass die Items nicht in der Reihenfolge dort drinstehen, wie du sie hinzugefügt hast.

    *winke*
    Hellsgore

    EDIT: Zeiger holen:

    CComboBox* pCtrCombo = (CComboBox*)CWnd::GetDlgItem(IDC_COMBO1);
    pCtrCombo->SetCurSel(0);
    


  • ja ich hab es so gemacht, aber ich bekomm nicht mein gewünschte angezeigt, sondern einfach nichts, d.h. den Leereintrag. Aber vielleicht hab ich zuviel probiert, ich werd es einfach nochmal versuchen.
    Kann es vielleicht daran liegen, das ich noch ein Value für das Control angelegt habe vom Type CString?



  • Ja kann es.

    Nachdem du mit SetCurSel(x) ein Item ausgewählt hast und danach:

    m_strCombo = ""; // m_strCombo.Empty();
    UpdateData(FALSE);
    

    aufrufst, passiert es dir, dass deine Combobox ein leeres Feld anzeigt. Also achte auch mal darauf ob du ein UpdateData(FALSE) machst und wann deine MemberVar vom Typ CString (von der Combo) initialisiert wird.

    Es kann natürlich auch daran liegen das du einen falschen Index angibst:

    Index = Item - 1;

    Du hast 4 Einträge also ist der Index des Letzten 3.

    *winke*
    Hellsgore



  • Danke, aber daran kann es nicht liegen.
    Index okay. Daten für Combobox werden breits in Properties eingetragen und dann im Moment noch nicht verändert.


Anmelden zum Antworten