Fokuswechsel durch MessageBox....



  • Hallo,
    es handelt sich um eine SDI-Anwendung mit Dialogen.
    Nach Eingabe eines Wertes in ein CEdit wird über die Message EN_KILLFOCUS der eingegebene Wert auf einen gültigen Bereich hin überprüft und bei Über-, bzw. Unterschreitung eine MessageBox angezeigt.
    Das funktioniert auch so weit ganz gut.

    Bsp.:
    GUTFALL:
    Wert eingeben -> (z.B.) mit Tab-Taste zum nächsten Element -> Überprüfung des gültigen Bereichs ist OK (-> keine MessageBox) -> Wert in CEdit übernehmen -> nächstes STeuerelement hat Focus

    SCHLECHTFALL:
    Wert eingeben -> (z.B.) mit Tab-Taste zum nächsten Element -> Überprüfung des gültigen Bereichs ist NICHT OK (-> MessageBox!) -> Min/Max- Wert in CEdit übernehmen -> KEIN Steuerelement hat den Fokus

    OK, also sobald eine MessageBox aufgerufen wird, erhält diese logischerweise den Fokus und danach hat weder das CEdit (wo man einen Wert eingetragen hat) noch das nächste (zu dem man wechseln wollte) den Fokus 😕

    Was kann ich tun, damit nach der MessageBox das eben überprüfte CEdit WIEDER den Fokus erhält?!? 😕

    Vielen Dank schon mal.

    Gruss
    S.



  • Wenn du die MessageBox selbst aufrufst, kannst du danach einfach den Focus mit

    GetDlgItem(IDC_DEIN_EDIT)->SetFocus();
    

    auf das Edit setzen.



  • ja, das ist natürlich schon eine MÖglchkeit.DANKE!
    Da ich diese Überprüfungsfunktion ja für alle CEdits aufrufe wäre es dann noch sinnvoll die ID mit zu übergeben....!

    Das sollte machbar sein.... :p

    Dann mal Danke.

    Gruss
    S.


Anmelden zum Antworten