Eingabe von Tabulatoren in Editfeldern zulassen (Sprung zum nächsten Control verhindern)



  • Hi,

    Wie kann ich bei einem Editfeld in einem Dialog dafür sorgen, dass beim Drücken der Tab-Taste auch ein Tabulator eingefügt wird und nicht zum nächsten Control gesprungen wird ?

    Danke euch!


  • Mod

    In Multiline Edit COntrols geht das durch Eingabe von Strg+Tab.



  • jap STRG+TAB , weis zwar net wie es genau geht aber würd sagen wenn du nur die Tab taste verwenden willst solltest du wen du im Edit Control bist, die Tasten eingabe VK_TAB abfangen und ein \t im Edit Control Anhängen 😕 is nur n Vorschlag muss net richtig sein 🤡 😃



  • Ascharan schrieb:

    jap STRG+TAB , weis zwar net wie es genau geht aber würd sagen wenn du nur die Tab taste verwenden willst solltest du wen du im Edit Control bist, die Tasten eingabe VK_TAB abfangen und ein \t im Edit Control Anhängen 😕 is nur n Vorschlag muss net richtig sein 🤡 😃

    vergiss dabei nicht ihm zu sagen das er Subclassen muss und erst dann die Taste Abfangen kann 😉

    schirrmie



  • @schirrmie sry habs vergessen thx 😕 😃


  • Mod

    Ascharan schrieb:

    jap STRG+TAB , weis zwar net wie es genau geht aber würd sagen wenn du nur die Tab taste verwenden willst solltest du wen du im Edit Control bist, die Tasten eingabe VK_TAB abfangen und ein \t im Edit Control Anhängen 😕 is nur n Vorschlag muss net richtig sein 🤡 😃

    Wenn man wirklich das TAB so verwenden will ist das ist IMHO nicht der korrekte Weg. Denn die TAB-Taste wird nicht vom Edit Control empfangen, sondern bereits in der Message Loop des Dialoges verabreitet.

    Also entweder PreTranslateMessage überschreiben (was ich nicht für gut finde an dieser Stelle).
    Oder der korrekte wäre ein Subclass des Edit Controls und WM_GETDLGCODE (OnGetDlgCode) bearbeiten und DLGC_WANTTAB oder DLGC_WANTALLKEYS setzen.


Anmelden zum Antworten