PreTranslateMessage ...



  • Ein modaler Dialog endet im einfachsten Fall mit der Eingabetaste.
    In dem Dialog habe ich eine Combobox eingefügt und möchte für sie die
    EingabeTaste abfangen. Da habe ich die PreTranslateMessage überschrieben
    und die Eingabetaste für die Combobox damit abgefangen. Wenn ich im dem Dialog
    auf eine frei Stelle klicke und die Eingabetaste drücke, wird der Dialog
    nicht mehr beendet. Was ich gerne wünsche. Weis jemand Rat ?



  • lass doch die PreTranslateMessage in ruhe und werte in der OnOk aus wer den Focus hat, ist es deine ComboBox dann machst du was du für die Box machen wolltest udn springst vor dem Aufruf von CDialog::OnOK() wieder aus.


  • Mod

    1. Wenn Du die Eingabe-Taste behandelst, dann muss Dir klar sein, wer den Focus hat. Wenn Du auf eine freie Fläche im Dialog klickst, dann beleibt der Focus auf dem letten Feld wo erwar.
    2. Welchen Sinn macht es die Eingabetaste in einer ComboBox abzufangen. DieEingabetaste wird ja schon bei einer aufgeklappten ComboBox separat behandelt.
    Es stellt sich also für mich die Frage was Du eigentlich für ein Verhalten möchtest.



  • Wenn ich in das Eingabefeld der Combobox einen Text eintrage, und erreichen
    will, dass der Text in die Liste ( der Combobox ) eingefügt werden soll,
    sollte das auf drücken der Eingabetaste geschehen. Danke ...


Anmelden zum Antworten