Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Wieso reagiert mein Programm bei WM_SYSCOMMAND nicht mehr?? (https://www.delphipraxis.net/146759-wieso-reagiert-mein-programm-bei-wm_syscommand-nicht-mehr.html)

lbccaleb 26. Jan 2010 18:24


Wieso reagiert mein Programm bei WM_SYSCOMMAND nicht mehr??
 
Hey Ho,

Wieso reagiert mein Programm bei WM_SYSCOMMAND nicht mehr??

Also ich fange die Windows Message "WM_SYSCOMMAND" ab um festzustellen wann das Fenster Minimiert wird, und es dann zu "verstecken" und im Tray abzulegen.
Das klappt auch alles wunderbar, nur wenn ich das Fenster wieder anzeigen lasse, geht gar nichts mehr, weder der "Schließ" Button noch wird auf andere Fensterfunktionen reagiert! Woran kann das liegen und wieso muss ich den Befehl SC_MINIMIZE logisch mit "$FFF0" verknüpfen? (Das hab ich aus der msdn gelesen)


Delphi-Quellcode:
    WM_SYSCOMMAND:
      case wParam of
        ($FFF0 and SC_MINIMIZE):
          begin;
            ShowWindow(hWnd, SW_HIDE);
            Result := 0;
          end;
      end;

mfg Martin

lbccaleb 26. Jan 2010 19:08

Re: Wieso reagiert mein Programm bei WM_SYSCOMMAND nicht meh
 
OK, nach langer Suche hab ich die Lösung selbst gefunden.
Hätt ich eigentlich auch gleich drauf kommen können. War das Problem einer einfachen "Denkblockade" :lol:

Einfach die Nachrichtenschleife weiterleiten und alles ist gut:

Delphi-Quellcode:
    WM_SYSCOMMAND:
      case wParam of
        ($FFF0 and SC_MINIMIZE):
          begin;
            ShowWindow(hWnd, SW_HIDE);
          end
      else
        Result := DefWindowProc(hWnd, uMsg, wParam, lParam);
      end;
Trotzdem THX...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz