AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Wieso reagiert mein Programm bei WM_SYSCOMMAND nicht mehr??
Thema durchsuchen
Ansicht
Themen-Optionen

Wieso reagiert mein Programm bei WM_SYSCOMMAND nicht mehr??

Ein Thema von lbccaleb · begonnen am 26. Jan 2010 · letzter Beitrag vom 26. Jan 2010
Antwort Antwort
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#1

Wieso reagiert mein Programm bei WM_SYSCOMMAND nicht mehr??

  Alt 26. Jan 2010, 18:24
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
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Wieso reagiert mein Programm bei WM_SYSCOMMAND nicht meh

  Alt 26. Jan 2010, 19:08
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"

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...
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 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