Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Form1 als Parent zuweisen - inaktive Titelleiste
galagher - Fr 26.11.10 23:23
Titel: Form1 als Parent zuweisen - inaktive Titelleiste
Hallo!
Wenn ich einem zur Laufzeit erzeugten Fenster (aForm) Form1 als Parent zuweise, erscheint aForm mit inaktiver Titelleiste. Wie bekomme ich es hin, dass aForm - das ja den Fokus hat bzw. dessen Komponenten den Fokus haben - als aktives Fenster dargestellt wird? Es reagiert ja auch wie ein solches!
Ich kann es nicht als MDIChild handhaben, da es in anderen Situationen auch als "freies" Fenster existieren muss.
Hier der wesentliche Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| aForm := TForm2.Create(Application); with aForm do begin Parent := Form1; Show; |
bummi - Fr 26.11.10 23:30
Delphi-Quelltext
1: 2:
| Borderstyle=bsNone; align := alClient; |
Edit:
Du kannst es auch auf eine Panel oder Tabsheet legen, bei einem Pagcontrol per ManualDock als neues Tab reinhängen etc...
galagher - Fr 26.11.10 23:42
Es soll aber ein eigenes, innerhalb von Form1 frei bewegbares Fenster sein, mit eigener Tittelleiste, eigenen Symbolen, und man soll es maximieren (beim minimieren "verschwindet" es irgendwohin) und in der Grösse beliebig verändern können!
Delete - Fr 26.11.10 23:53
- Nachträglich durch die Entwickler-Ecke gelöscht -
bummi - Sa 27.11.10 00:01
Sorry, ich hatte Dich falsch verstanden, dann ist der Weg von Frühlingsrolle der richtige, die MDIChild - Eigenschaft lässt sich auch nach Erzeugung des Formulars umschalten, man muß nur ein bisschen mit seinem Clientrect jonglieren.
galagher - Sa 27.11.10 09:25
bummi hat folgendes geschrieben : |
| die MDIChild - Eigenschaft lässt sich auch nach Erzeugung des Formulars umschalten |
Dann erscheint das MDIChild hinter den Komponenten von Form1!
bummi - Sa 27.11.10 10:14
Wenn Du da Controls hast, klar...
Ich weiß nicht ob es eine zuverlässige Möglichkeit gibt die Windowsmalroutinen für die Titelleiste und die Buttons problemlos zu überschreiben, die Komponenten die ich hierfür bisher gesehen habe, hatten immer irgendwelche Seiteneffekte, gegf. kannst Du das ganze einfacher simulieren indem Du ein Panel nimmst mit einem Titelpanel in dem Du Originaldarstellung und Verhalten simulierst und das Form auf dem Panel ohne Borders , alClient verankerst.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!