ComboBox



  • hallo,

    ich habe ein Problem mit meiner ComboBox. Ich habe schon gesucht, aber es gibt hier keinen Eintrag über eine ComboBox(nur in er FAQ). Mache ich was falsch beim Suchen ??

    Okay zum Problem...
    Ich habe ein Dialog gemacht und öffne den mit

    CEinstellung dlg;
    dlg.DoModal();
    

    Auf dem Formular sind 5 Comboboxen. Ich weiss jetzt nicht, wie ich die Werte beim Laden des Formulars in die ComboBoxen schreibe? Ich dachte es gibt ein Initialisierungsaufruf, wie OnInitDialog, aber den habe ich nicht gefunden.
    Im Moment behelfe ich mir mit einem Button, der bei Drücken sämtliche Werte in die Comboboxen schreibt.

    void CEinstellung::OnBnClickedOK()
    {
         m_Baudrate.InsertString(0,"9600");
         .....
    }
    


  • Na du musst dir auch erstmal die Funktion überschreiben 😉 OnInitDialog ist schon richtig 🙂 "Overrides" auf Englisch 😉



  • Sorry das habe ich jetzt nicht so richtig verstanden. Ich habe ein neues (zweites) Formular erstellt mit 5 Comboboxen. Ich hab eine Klasse(CEinstellungen) abgeleitet und es wurde daraus eine cpp und h gebildet. Leider ist in der neuen cpp keine Funktion OnInitDialog, worin ich die Initialisierung für die Comboboxen machen kann. Nun will ich wissen, wo ich die herbekomme bzw. wie ich die anzulegen habe.
    Vielleicht gibt es ja auch ne andere Möglichkeit die Comboboxen mit Werten zu belegen ohne das man vorher irgend nen Button drücken oder sonstwas machen muss.

    Stefan



  • Ich habe gerade herausgefunden, warum die Suche bei mir nicht funktioniert hat(Sternchen vergessen). Mit dem OnInitDialog hatte ich auch recht, da es schon ein Beitrag dazu gab. Mein Problem ist, dass ich ein fauler Hund bin und gerne das OnInitDialog durch den Compiler automatisch setzten lassen möchte, also wie so ein EreignisHandler(über Rechtsklick auf ein Steuerfeld). Ich habe noch keine Möglichkeit gefunden, wo cih das für ein Formular einstellen kann.
    Benutze ich statt CDialog -> CFormView wird das OnInit-Ereignis automatisch erzeugt. Also denke ich das es bei CDialog auch automatisch gehen sollte.

    n8
    Stefan


  • Administrator

    Lass dir mal die Eigenschaften deiner Klasse anzeigen und geh dort auf Overrides. Dort musst du bei OnInitDialog auswählen und dazufügen. Der überschreibt dann die Funktion automatisch und gibt dir all das Zeugs. Zumindest funktioniert es so in VS 2003. Aber sollte auch ähnlich anderswo funktionieren. Einfach nach Overrides suchen in der Hilfe des VS.

    Grüssli


Log in to reply