![]() |
Form mit der Maus ziehen...
Hallo,
ich möchte mir einen eigenen fenter-style machen. Wenn man auf einer Image drauf klickt und mit der maus zieht, soll sich das ganze fenster mit bewegen. Wie geht das? |
Re: Form mit der Maus ziehen...
du könntest im onmousedown die fensterposition hinterlegen und im onmousemove - falls linke maustaste gedrückt - die form entsprechend verschieben.
|
Re: Form mit der Maus ziehen...
Hi,
du musst dabei aber auch darauf achten, dass es zwei Varianten gibt. Du musst dem Benutzer allerdings unbedingt überlassen, welche er benutzen möchte, weil 1. beide Varianten systemweit arbeiten und 2. die erste Variante (SetFullWindowDrag) systembelastender ist. Die FullDragmethode ist allerdings nicht von mir, sondern von ![]()
Delphi-Quellcode:
procedure TfrmMain.xiCaptionBarMouseDown(Sender: TObject; // das ist das MouseDown-Ereigniss deiner Titelleiste
Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if frmSetting.FullDrag then // wenn der Benutzer für die systembelastendere Methode ist ; musst natürlich diese Zeile an dein Programm anpassen begin SetFullWindowDrag(frmOp.Handle, True); SetFullWindowDrag(frmOp.Handle, False); end else // wenn er für den Systemstandard ist begin ReleaseCapture; Perform(wm_syscommand,$f012, 0); end; end; function TfrmMain.SetFullWindowDrag(hwnd: DWORD; ShowFullWindow: Boolean): Boolean; var lOldSetting: integer; lSuccess : boolean; begin lSuccess := SystemParametersInfo(SPI_GETDRAGFULLWINDOWS, 0, @lOldSetting, 0); if lSuccess = False Then Exit; if Bool(lOldSetting) <> ShowFullWindow then begin lSuccess := SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, Abs(DWORD(ShowFullWindow)), 0, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE); if bool(lSuccess) = True then begin Result := True; ReleaseCapture; SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0); end; end end; |
Re: Form mit der Maus ziehen...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 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