![]() |
Problem beim Positionieren der Form
Guten Morgen :hi:
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 :-D 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:
Vielen Dank schon mal für Eure Hilfe !!!
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; Gruß, -=cats=- :coder: 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 :gruebel: |
Re: Problem beim Positionieren der Form
Moin :-)
Warum nimmst du nicht einen Frame anstelle einer Form? Verstehe den Sinn nicht ganz, was du vorhast... |
Re: Problem beim Positionieren der Form
Also, ich brauche das AlphaBlend :-)
Und soweit ich weiß hat das nur die Form :-) Ich denke, ich habe das Problem für`s erste gelöst. Bisher funktioniert es. Aber ich schätze mal, wenn ich die Form gleich maximiert starte (ohne Titelleiste und so) wird es noch einige Probleme geben ... Mal schaun :-) Die Lösung ist, das ich vor der if-Bedingung auch noch mal die Position zuweise. Und auch noch mal im onCreate der Hauptform. |
Re: Problem beim Positionieren der Form
Steht da in der PSDK unter WM_MOVING nicht auch:
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 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 by Thomas Breitkreuz