Fenster darf Focus nicht verlieren.



  • Hi,

    wie mache ich das?

    Ich habe als EX-Style: WS_EX_TOPMOST

    Und fange die WM_KILLFOCUS message ab:

    case WM_KILLFOCUS:
            SetFocus (hwnd);
            return 1;
            break;
    

    Das klappt auch wunderbar, jedoch nur 1x 😞 Was muss ich machen damit dies Dauerhaft bleibt?


  • Mod

    Ich würde versuchen eine selbst definierte Nachricht mit PostMessage abzusenden und dann in diesem Handler erneut einen SetFocus zu machen.

    Dein Problem ist, dass der in dem Moment in dem WM_KILLFOCUS gesendet wird ein anderes Fenster bereits über den Focuswechsel informiert wurde. Du bringst das Windows System einfach damit durcheinander. In einem älteren Windows Artikel von Kyle Marsh wurde einmal erklärt warum man im WM_KILLFOCUS Handler nicht SetFocus verwenden soll... aber ich finde den nicht mehr...



  • Hi Martin! Danke für die Info, so wie Du sagtest geht es auch wunderbar 🙂

    Bist Du denn so nett und guckst noch mal nach dem Artikel von Kyle Marsh? Interessiert mich sehr 🙂


Anmelden zum Antworten