Item aus der ComboBox auswählen



  • Hi!

    Gibt es eine möglichkeit ein Item in einer ComboBox nur mit dem "Indexwert" sprich nAfterStart aber ohne einen string auszuwählen?
    Sprich ich will je nach dem welcher wert in der registry drin steht das item in der ComboBox auswählen.

    Danke schonmmal!



  • SetCurSel / CB_SETCURSEL, wenn ich dich richtig verstehe.



  • Ich denke schon das dus richtig verstanden hast... Deine Lösung hört sich zwar logisch an aber es tritt folgender Fehler in einer MessageBox auf sobald ich den dialog über mein menu aufrufen will:
    Debug Assertion Failed!

    Programm: ...Metex.exe
    File: ...atlmfc\include\afxwin2.inl
    Line: 734

    Ich hab leider keine Ahnung was ich da falsch mache...

    Nochmal zu erklärung:
    Ich rufe in meiner mainfile mit

    dlg.m_ComboConfPort.SetCurSel(1);
    

    das neue Dialogfeld auf.



  • Das Übliche 🙂

    Du kannst das erst in InitDialog / später machen

    Jedes CWnd-Objekt (und alles, was davon abgeleitet ist, z.B. CComboBox) kapselt ein Windows Window Handle (HWND). Die meisten Funktionen kann man erst nutzen, wenn auch das Windows-Window selbst (also die COmbobox in deinem Fall) erstellt ist.



  • Ich hab jetzt anders gelöst. weis zwar nicht obs die beste Lösung ist aber es klappt.
    Ich übergeb dem Dialog einfach eine Variable und ruf denn den SetCurSel auf, dann klappts.
    Falls jemand eine bessere Lösung kennt kann er sie gerne posten.

    Danke nochmal!!



  • Ist "im Prinzip die beste Lösung" (IMO).

    Du kannst auch mittels Wizard bzw. DDX die Combo-Box direkt auf eine Variable mappen, aber as macht bei komplexeren Dialogen keinen Spaß mehr.


Anmelden zum Antworten