AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MDI-Child simulieren

Ein Thema von meiner einer · begonnen am 29. Okt 2007 · letzter Beitrag vom 29. Okt 2007
Antwort Antwort
meiner einer

Registriert seit: 24. Jul 2007
12 Beiträge
 
Turbo Delphi für Win32
 
#1

MDI-Child simulieren

  Alt 29. Okt 2007, 20:41
Hallo,

ich hab ein Panel1 auf meinem Form1. Ein Form2 soll sich nur innerhalb dieses Panel1 bewegen dürfen. Das funktioniert wie noch ganz gut:

Delphi-Quellcode:
type
  TForm2 = class(TForm)
   public
    procedure CreateParams(var Params: TCreateParams); override;
  end;

...

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  with Params do begin
    Style := Style or WS_CHILD;
    WndParent := Form1.Panel1.Handle;
  end;
end;
Im Form1 zeig ich dann mein Form2 wie folgt mit Buttom1-drücken an:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
     Form2.Show;
    Form2.Edit1.SetFocus
end;
UND JETZT MEINE GROSSE FRAGE:
Das ganze geht nur wenn ich Form1 und Form2 unter Format/Optionen beide automatisch erzeugen lasse. Jetzt möchte ich aber Form2 nich automatisch erzeugen lassen, sondern stell es in die Spalte "verfügbare Formulare", möchte es erst zur Laufzeit erzeugen und das geht nicht - der folgende Code erzeugt einen Fehler - Warum???

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
    if Form2 = nil then Form2 := Form2.Create(Self);
    Form2.Show;
    Form2.Edit1.SetFocus
end;
Vielleich weiß jemand Rat?

Ich möchte in einer Komponente, hier z. B. das Panel1 verschiedenste Forms darstellen können und wieder zerstören, gegebenfalls aber wieder aufrufen können. Sie sollen nicht unnötig den Arbeitsspeicher füllen, wärend ein anderes gerade angezeig wird.

Danke
Martin
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: MDI-Child simulieren

  Alt 29. Okt 2007, 20:44
Konstruktoren werden, bis auf wenige Ausnahmen, an der Klasse aufgerufen.
Form2:=TForm2.Create;
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
meiner einer

Registriert seit: 24. Jul 2007
12 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: MDI-Child simulieren

  Alt 29. Okt 2007, 20:47
DANKE - Jetzt funkt's super - ich Idiot bin fast verzweifelt!
  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 14:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz