Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi andere Form mitverschieben (https://www.delphipraxis.net/55521-andere-form-mitverschieben.html)

TheAn00bis 22. Okt 2005 15:54


andere Form mitverschieben
 
Ich verschiebe eine Form "Form1" so:

Delphi-Quellcode:
ReleaseCapture;
self.perform(WM_SysCommand, $F012, 0);
Wie kann ich jetzt eine zweite Form im gleichen Maße mitverschieben?

Ich wäre in der Lage, sie hinterher an die Position zu setzen, aber ich möchte, dass sie in gleichem Maße mitverschoben wird.

P.S.: MDI kann ich nicht verwenden.

SirThornberry 22. Okt 2005 16:01

Re: andere Form mitverschieben
 
willst du während dem Verschieben schon das zweite Fenster mit verschieben oder erst wenn das erste Fenster losgelassen wird (also der Verschiebenvorgang abgeschlossen ist). Wenn du live mit verschieben willst geht es so:
Delphi-Quellcode:
  private
    procedure FWM_Moving(var AMsg: TMessage); message wm_moving;
[...]
procedure TForm1.FWM_Moving(var AMsg: TMessage);
var LRect: PRect;
begin
  inherited;
  LRect := Pointer(AMsg.LParam);
  //LRect beinhaltet jetzt die Position und Größe wo Form1 sich zurzeit befindet.
  //Mit Form2.Left := LRect.Right könntest du das Form2 also rechts daneben plazieren
end;
wenn du das zweite Fenster erst nach dem verschieben von Form1 verschieben willst kannst du auch einfach hinter das ReleaseCapture das plazieren von Form2 setzen.
Delphi-Quellcode:
ReleaseCapture;
self.perform(WM_SysCommand, $F012, 0);
Form2.SetBounds(Self.Left, Self.Top, Form2.Width, Form2.Height);

TheAn00bis 22. Okt 2005 16:09

Re: andere Form mitverschieben
 
Ersteres!

Danke! :)

aschne1 17. Jun 2006 22:04

Re: andere Form mitverschieben
 
Hi

Das mit FWM_Moving funktioniert super, aber nicht beim Maximieren. Wie realisiere ich das am einfachsten?

Danke + Gruss

SirThornberry 17. Jun 2006 22:41

Re: andere Form mitverschieben
 
wenn es beim maximieren auch so sein soll musst du die message auch abfangen und dann die position ändern.

aschne1 19. Jun 2006 21:32

Re: andere Form mitverschieben
 
Hallo Jens

Ich fange nun bereits WM_Moving und WM_Sizing ab, doch beim Maximieren bleibt das zweite Form an der ursprünglichen Stelle stehen und bewegt nicht mit wie beim Verschieben und 'Resizen'.
Welche Message soll ich fürs Maximieren am Besten abfangen?

Danke und Gruss

aschne1 20. Jun 2006 22:54

Re: andere Form mitverschieben
 
Niemand eine Idee??

SirThornberry 20. Jun 2006 22:58

Re: andere Form mitverschieben
 
eim maximieren wird so weit ich weiß wm_syscommand gesendet.

Mackhack 21. Jun 2006 04:12

Re: andere Form mitverschieben
 
Hilft dir das hier weiter was ich mal gepostet habe vor nicht all zu langer Zeit?


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