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 Fenster mit Maus auf TPanel bewegen? (https://www.delphipraxis.net/167201-fenster-mit-maus-auf-tpanel-bewegen.html)

PeterPanino 17. Mär 2012 14:05

Fenster mit Maus auf TPanel bewegen?
 
Hallo! Ich verwende folgenden Code, um ein Fenster (TForm) mit der Maus auf dem Fensterhintergrund zu bewegen:
Delphi-Quellcode:
private
  { Private-Deklarationen }
  procedure WMNCHitTest(var M: TWMNCHitTest); message wm_NCHitTest;

implementation

{$R *.dfm}

procedure TformMain.WMNCHitTest(var M: TWMNCHitTest);
// Fenster mit der Maus bewegen:
begin
  inherited;                   { call the inherited message handler }
  if M.Result = htClient then { is the click in the client area?   }
    M.Result := htCaption;     { if so, make Windows think it's    }
                                { on the caption bar.               }
end;
Nun ist aber ein großer Teil des Fensterhintergrundes von einem TPanel bedeckt. Es sollte also auch beim Klick auf das Panel das Fenster bewegt werden. Wie kann man das erreichen?

PeterPanino 17. Mär 2012 14:23

AW: Fenster mit Maus auf TPanel bewegen?
 
Habe soeben die Lösung gefunden:
Delphi-Quellcode:
procedure TformMain.pnlMainMouseDown(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
begin
  MoveWindow;
end;

procedure TformMain.MoveWindow;
begin
  ReleaseCapture;
  SendMessage(formMain.Handle, WM_SYSCOMMAND, 61458, 0);
end;


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