InitDialog ... Einstellungen werden nicht berücksichtigt



  • Hallo,

    in meiner InitDialog-Routine nehme ich einige Einstellungen vor z.B. solche:

    CComboBox* pCB = (CComboBox*) GetDlgItem(IDC_KATEGORIE);
    pCB->SetCurSel(-1);
    GetDlgItem(IDC_NAME)->SetFocus();
    UpdateData(FALSE);
    

    Die Befehle werden ausgeführt, aber ihre Auswirkungen sieht man leider nicht.

    Ich habe sie im OnActivate-Ereignis getestet und dort funktionieren Sie. Allerdings möchte ich nicht, dass z.B. beim Maximieren des Fensters diese Aktionen ausgeführt werden.

    Gibt es ein anderes Ereignis, wo ich die Befehle reinschreiben könnte? Oder mache ich im InitDialog was falsch??

    Kann mir nich erklären, warum die Befehle dort nicht funktionieren 😞

    LG ... Drea



  • Hmm, vielleicht liegt es daran das die OnInitDialog aufgerufen wird, bevor der Dialog aufgebaut ist... 😕

    Gruß
    :: NoName ::



  • Versuchs mal mit einer Membervariablen,die du
    der ComboBox zuteilst.
    Hacken bei Steuervariablen und auf Control stellen.

    Anschliessend kannst du

    m_variable.SetCurSel()

    Aber ne andere Frage.Bei der ComboBox gibts doch gar keine
    negativen Zahlen

    Viel Glück



  • SetCurSel(-1); hat zur Folge, dass kein Eintrag ausgewählt wird. Ist aber in OnInitDialog sinnlos, da dort der Dialog erzeugt wird, ebenso die ComboBox und die hat beim Erzeugen sowieso keinen Eintrag ausgewählt.
    Und zu dem SetFocus():
    letzte Zeile von InitDialog:
    return TRUE; // Geben Sie TRUE zurück, außer ein Steuerelement soll den Fokus erhalten



  • Hallo,

    das mit return FALSE; bei InitDialog war die richtige Idee. Jetzt funktioniert es -> zumindest was den Focus auf ein Steuerelement angeht. Hatte leider die Kommentare beim Erstellen der Klassen ausgeschaltet 🙄

    SetCurSel(-1); hat zur Folge, dass kein Eintrag ausgewählt wird. Ist aber in OnInitDialog sinnlos, da dort der Dialog erzeugt wird, ebenso die ComboBox und die hat beim Erzeugen sowieso keinen Eintrag ausgewählt.
    Und zu dem SetFocus():

    Nein, ich musste trotzdem SetCurSel(-1) machen. Wenn ich den Dialog das 2. Mal aufrufe ist "komischerweise" schon was ausgewählt. Ist mir unerklärlich 😕 Leider konnte ich das Problem mit dem return FALSE; nicht lösen. 😞

    LG .. Drea



  • Hast du eine Wertevariable zu der Combobox? Dann setz die mal auf -1 in OnInitDialog (ganz oben).



  • Ah danke, das hat funktioniert 🙂


Anmelden zum Antworten