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/)
-   -   Systemmenü eines Fensters an bestimmter Bildschirmposition anzeigen (https://www.delphipraxis.net/162268-systemmenue-eines-fensters-bestimmter-bildschirmposition-anzeigen.html)

Codehunter 15. Aug 2011 10:54

Systemmenü eines Fensters an bestimmter Bildschirmposition anzeigen
 
Hallo!

Wenn man mit links auf das Fenster-Icon in der Titelzeile klickt bekommt man das Systemmenü mit standardmäßig Wiederherstellen, Verschieben, Minimieren usw. Wie kann ich dieses Systemmenü zur Laufzeit an einer bestimmten Bildschirmposition anzeigen?

Grüße
Cody

DeddyH 15. Aug 2011 11:03

AW: Systemmenü eines Fensters an bestimmter Bildschirmposition anzeigen
 
Könnte man nicht ein TPopupMenu nehmen und dessen Items aus dem Systemmenü klonen?

Codehunter 15. Aug 2011 11:19

AW: Systemmenü eines Fensters an bestimmter Bildschirmposition anzeigen
 
Wäre evtl. auch möglich aber ich könnt mir denken daß es einfacher ist das originale Menü anzuzeigen. Im Prinzip bräuchte ich ja nur das Handle HMENU vom Systemmenü des Fensters, dann könnte ich es ja mit TrackPopupMenu anzeigen. Nur wo krieg ich das Handle her? MainForm.WindowMenu ist bei mir NIL, so gehts also schonmal nicht.

EDIT: Naja, es ist Montag :-) Lösung:
Code:
var
  M: HMenu;
begin
  M:= GetSystemMenu(Handle, FALSE);
  TrackPopupMenu(M, TPM_LEFTALIGN, 10, 10, 0, Handle, 0);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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