Guten Morgen
Also, ich habe 2 Forms. Die eine soll mit verschoben
werden, wenn ich die andere verschiebe.
Jetzt habe ich überlegt, das könnte man mit WM_MOVING
machen.
Irgendwie klappt das auch ... nur nicht so ganz.
Das Problem ist, das die kleine Form am linken Rand
der großen Form erscheinen soll.
Da ich bei WM_MOVING ja ein TRect bekomme, kann ich
von da aus ja auf rect.left und rect.top zugreifen.
Dann dachte ich mir, übergebe ich diese Daten doch
der kleinen Form, damit sie weiß, wo sie sich positionieren
soll. Sie richtet sich auch jedes mal mit aus, nur irgendwie
1 km vom linken Rand entfernt
Also, das passt nicht so ganz ...
Hat jemand eine Idee, wie ich damit die Position ausrechnen
kann, damit sie wirklich am linken Rand der großen Form
sitzt ?
Irgendwie komme ich hier zu keinem Ergebnis
Hier mal mein Code:
Delphi-Quellcode:
procedure TForm19.WndProc(var Message: TMessage);
var r:TRect;
fwSide:Integer;
links : integer;
oben : integer;
begin
if Message.Msg=WM_MOVING then begin
fwSide := Message.wParam;
if (fwSide and WMSZ_LEFT)<>0 then begin
r:=TRect(Pointer(Message.lParam)^);
Application.Title:=IntToStr(r.Left);
rechteckZurueck := r;
links := r.Left;
oben := r.Top;
Form21.Top := oben; // Das ist die kleine Form, die die
Form21.Left := links; // Daten übergeben bekommt
end;
end;
inherited WndProc(Message);
end;
Vielen Dank schon mal für Eure Hilfe !!!
Gruß,
-=cats=-
Und dann ist mir noch aufgefallen,
egal, wie ich den Wert bei Form21.Top := oben;
verändere (auch bei Form21.left), die kleine Form erscheint immer wieder
an der gleichen Stelle ...
Sehr merkwürdig