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/)
-   -   Delphi SystemMenu aktualisieren (https://www.delphipraxis.net/587-systemmenu-aktualisieren.html)

Motzi 11. Aug 2002 12:50


SystemMenu aktualisieren
 
Hi

Ich besorge mir mit folgendem Code das Handle des SystemMenüs einer Form um dieses dann anzeigen zu lassen:

Menu := GetSystemMenu(FOwnerTask.FForm.Handle, False);
TrackPopUpMenuEx(Menu, TPM_HORIZONTAL, scrPoint.x, scrPoint.y, FOwnerTask.FForm.Handle, nil);

Das Problem dabei ist nur, dass das SystemMenu nicht sofort aktualisiert wird. Wenn zB ein Fenster minimiert wird, dann wird ja der Menüpunkt "Minimieren" deaktiviert. Diese Deaktivierung findet aber erst statt wenn ich das SystemMenu über die Form aufrufe. Wenn ich, nachdem ich das entsprechende Fenster minimiert hab, das SystemMenu über meinen Code anzeige ist der Menüpunkt "Minimieren" aber noch aktiv. Was mir dabei noch aufgefallen ist ist, dass dieses Phänomen nur bei normalen Fenstern auftritt, bei MDIChilds wird das SystemMenu sofort aktualisiert. Hat vielleicht irgendwer eine Idee wie ich das Menu aktualisieren kann bevor ich es anzeige?

CalganX 11. Aug 2002 14:36

Vielleicht (ich weiß es aber nicht), so:
Code:
UpdateSystemMenu;
Chris

Motzi 11. Aug 2002 15:24

Nein, diese Funktion gibt es leider nicht! :cry:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.

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