Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Fenster andocken _und_ verschieben


der_zaehe - So 15.01.06 21:31
Titel: Fenster andocken _und_ verschieben
n'abend zusammen, ich hab da ein problem:
ich will erstens ein fenster an ein anderes andocken und dann das "hauptfenster" verschieben, so dass die angedockten fenster mitgezogen werden. also so ziemlich genau das, was winamp kann. da meine forms auf bsNone gesetzt sind, verschiebe ich sie mit

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.backgroundMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
const
  SC_DRAGMOVE = $F012;
begin
  if (ssLeft in Shift) then
  begin
    ReleaseCapture;
    self.Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0);
  end;
end;
.

das docken an sich ist eigentlich kein problem, weil ich dafür schon eine entsprechende kompo gefunden habe. nur beim gemeinsamen verschieben gibt es problem => es geht nicht.

schon mal danke im voraus für eure hilfe.
der_zaehe


NeoInDerMATRIX - Di 17.01.06 21:24

Hi,

entweder überprüfst du beim Verschieben eines Fensters ob ein anderes an seinen Kannten liegt und verschiebst es gleich mit.
Oder du hadelst es mit einer Referenz in deinem Fenster. Sprich wenn es gedockt ist, dann speichere die Referenz in dem Fenster wo es angedockt ist, und beim Verschieben past du alle Angedockten fenster mit an.
Wie es mit der Komponente geht kann ich dir nicht sagen!

Cu
Neo