![]() |
Form an einen Panel im Hauptfenster koppeln
Hallo (bin neu hier),
ich habe ein MainForm mit einem Panel als Hauptoberfläche. Weiter Formulare kann ich als Modales Fenster (ShowModal) jederzeit öffnen. Jetzt möchte ich aber, das mein Formular, in den Panel auf dem Hauptformular "angedockt" wird, so das das neue Formular quasi Bestandteil des Hauptformular wird. Leider habe ich es bis jetzt nicht richtig geschafft, bzw. das Programm bricht ab. Ich hoffe, dass mir jemand weiterhelfen kann. Danke. :wall: |
Re: Form an einen Panel im Hauptfenster koppeln
|
Re: Form an einen Panel im Hauptfenster koppeln
MDI Ist ja richtig, aber das Form soll automatisch in den Panel verankert werden.
|
Re: Form an einen Panel im Hauptfenster koppeln
geht es den parent von form2 zu setzen?? Ich habs damal gelöst in dem ich auf Form2 auch nen Panel gesetzt hab und dem als parent dann das Panel von Form1 gegeben hab
|
Re: Form an einen Panel im Hauptfenster koppeln
Damit geht es.
Delphi-Quellcode:
:dancer2: :dancer2:
var
Child: TMDIChild; begin Child := TMDIChild.Create(Application); Child.ManualDock(MainForm.Panel1, Child, alClient); end; Danke für die Tipps. Schönen Sonntag noch. |
Re: Form an einen Panel im Hauptfenster koppeln
Zitat:
hat jemand noch einen Tipp? :wall: |
Re: Form an einen Panel im Hauptfenster koppeln
du hast auf form1 ein panel und auf form2 auch eins
und dann sagst du halt form2.panel1.parent := form1.panel1; |
Re: Form an einen Panel im Hauptfenster koppeln
Hallo Alaris,
ich hatte auch mal so ein ähnliches Problem, siehe ![]() dort ist auch eine Komplettlösung dabei. p.s. : Wobei dort nicht "angedockt" sondern eher "eingebettet" wird. |
Re: Form an einen Panel im Hauptfenster koppeln
Hallo Armin,
danke. Es klappt jetzt einigermassen. Jedoch habe ich immer noch ein Flackern (From wird wohl aufgebaut) bevor das Formular angedockt wird. Gruß Ala |
Re: Form an einen Panel im Hauptfenster koppeln
Es gibt eine weiter Möglichkeit:
Wenn man in der Hauptform einen Messagehandler procedure WndProc(var Message: TMessage); override; implementiert, dem man via Windows-Message die aktuelle Form sendet. (Die Message kommt von der aktuell angezeigten Form) Im Hauptformular muß der Property KeyPreview gesetzt werden. Nun kann man im Event OnKeyDown der Hauptform der Key abfangen welcher gedrückt wurde. Diesen Key sendet man wiederum via WindowsMessage an die Form zurück. Die wiederum in ihrem Messagehandler darauf reagieren kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 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