PreTranslateMessage und CEdit-Fokus



  • Hallo,
    in einem Dialog befinden sich einige CEdit-Steuerelemente.
    Wenn ein Steuerelement aktiv (Cursor im CEdit) ist, dann soll zu diesem Element eben ein Hinweis ausgegeben werden. Und zwar unabhängig davon ob die Maus bewegt wird, oder sich die Maus über einem anderen CEdit-Element befindet.

    Das ist doch eigentlich ein typischer Fall für die PreTranslate-Message-Fkt, oder? 😕
    Wie kann ich denn das dort abfangen?

    Danke.

    Gruss
    S.



  • Das würde mich auch interessieren, denn dann könnte ich zusätzlich zum bisher realisierten Tooltip auch was in der Statusanzeige schreiben.

    Meine Vermutung wäre WM_SETFOCUS. 🙂



  • Hallo estartu_de,
    also ich habe es jetzt mal mit WM_SETFOCUS probiert, allerdings ohne Erfolg.
    Über die Abfrage:

    if (pMsg->message == WM_SETFOCUS}
    {
       ...       // hier kommt man über die Abfrage NICHT hin
    }
    

    wurde die Routine nie abgefragt. 😕

    Mh, weißt Du vielleicht noch eine andere Möglichkeit oder war ich nur zu doof Deinen Tipp richtig unzusetzen?!?

    Gruss
    S.



  • Ich glaube nicht, dass du zu doof bist. 🙂
    Eher vermute ich, dass der Dialog die Nachricht nie bekommt, weil die Controls die schon abarbeiten. 😞
    Daher war es nur eine Vermutung und keine Lösung.

    Also müsste man es "durch die Hintertür" mit dem Abfangen der Tab-Taste und der linken Maustaste versuchen. (Also alles, was den Focus beeinflusst.)



  • Wie kommst du auf PreTranslateMessage? Warum nicht über die ganz normale Message Map?



  • mm_ schrieb:

    Wie kommst du auf PreTranslateMessage? Warum nicht über die ganz normale Message Map?

    Weil das nicht für alle Controls auf dem Formular geht - es sei denn, man fügt jedes per Hand hinzu? 🙄



  • Also ich meinte jetzt Klasse von CEdit ableiten und dort WM_SETFOCUS behandeln.



  • Und für alle anderen Controls auch? 😞
    Nur für Edits ist es eine Lösung, okay.



  • Hallo,
    also so kann man das abfragen:

    if (pMsg->wParam == VK_TAB || pMsg->message ==  WM_LBUTTONDOWN}
    {
       ....
    }
    

    Gruss
    S.


Anmelden zum Antworten