AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Form 2 in einer GroupBox öffnen !
Thema durchsuchen
Ansicht
Themen-Optionen

Form 2 in einer GroupBox öffnen !

Ein Thema von Alterauge · begonnen am 20. Apr 2014 · letzter Beitrag vom 25. Jun 2014
Antwort Antwort
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#1

AW: Form 2 in einer GroupBox öffnen !

  Alt 20. Apr 2014, 23:03
Hallo,

Es würde klappen, wenn vor dem Setzen des Parents der FormStyle auf fsNormal gesetzt würde.
Klappt - in Delphi - auch nach dem Setzen von Parent .

Worauf ich hinaus wollte: In einer Delphi-Anwendung ein MDIChild erzeugen ohne ein MDIForm als Hauptformular scheppert meines Wissens - keine Ahnung wie das mit Lazarus ist.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Form 2 in einer GroupBox öffnen !

  Alt 20. Apr 2014, 23:16
Ok, ich nehme zwar nicht wirklich alles zurück (das mit dem MDI bleibt), aber das Hauptproblem hier liegt bei Align := alClient .

Das mag die LCL nicht ... warum auch immer (würde ich als Bug bezeichnen).
Was geht ist WindowState := wsMaximized; .

Allerdings gibt es da wohl ein Problem mit der Aktualisierung des Fensters, denn es wird nur der Bereich (Höhe,Breite) neu gezeichnet, den das Fenster vor der Maximierung eingenommen hatte. Auch das würde ich als Bug ansehen.

Die Bounds der GroupBox stimmen auch nicht (die Caption der Groupbox wird verdeckt)

Ok, problematisch ist der Rahmen der Form ...
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  LForm : TForm;
begin
  // Wenn Parent gesetzt wird, braucht es keinen Owner
  // Auf jeden Fall nicht die Instanz aus der globalen Variable (Form1) nehmen, sondern hier Self
  LForm := TForm2.Create( nil );
  // und auch hier, statt Form1 einfach Self nehmen
  LForm.Parent := Self;
  // Wolltest du nicht in die GroupBox???
  LForm.FormStyle := fsNormal;
  LForm.BorderStyle := bsNone;
  LForm.Align := alCLient;
  LForm.Visible := true;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (20. Apr 2014 um 23:30 Uhr)
  Mit Zitat antworten Zitat
Michl

Registriert seit: 8. Jul 2013
1 Beiträge
 
#3

AW: Form 2 in einer GroupBox öffnen !

  Alt 25. Jun 2014, 08:41
Der Thread ist zwar nicht mehr aktuell, bin aber gerade darüber gestolpert. Für nachfolgende Leser (ich arbeite z.Zt. nur unter Lazarus (Win7)):

@Popov: Das Beispiel eines Formulars in einer Groupbox darstellen funktioniert auch unter Lazarus problemlos, ohne die Einbindung der Unit Windows (plattformunabhängig)!
Code:
uses ..., Unit2;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.BorderStyle:=bsNone;
  Form2.SetBounds(0, 0, GroupBox1.ClientWidth, GroupBox1.ClientHeight);
  Form2.Parent:=GroupBox1;
  Form2.Show;
end;

Geändert von Michl (25. Jun 2014 um 08:44 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 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