AGB  ·  Datenschutz  ·  Impressum  







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

TFrame in ein Form einbinden

Ein Thema von cBoB · begonnen am 26. Apr 2004 · letzter Beitrag vom 27. Apr 2004
Antwort Antwort
Benutzerbild von cBoB
cBoB

Registriert seit: 5. Apr 2004
Ort: Berlin
61 Beiträge
 
Delphi 5 Professional
 
#1

TFrame in ein Form einbinden

  Alt 26. Apr 2004, 16:03
Hallo an alle!

Wiedermal ne wahrscheinlich blöde Frage: wie kann ich Frames in ein Formular einbinden (während der Laufzeit)? Ich komme irgendwie nicht an das schon fertig erstellete Frame heran. Ich kann zwar mit
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var fr1: TFrame2;
begin
fr1:=TFrame2.Create(Form1);
fr1.Parent:=Form1;
fr1.Top:=10;
fr1.Left:=165;
fr1.Show;
ein neues Fram erstellen, welches auch in Form1 angezeigt wird - es ist aber eben nicht das schon zur Entwurfszeit erstellete und damit leeeer. Was mach ich noch falsch?

Gruß und schönen guten Abend!
-c-
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: TFrame in ein Form einbinden

  Alt 26. Apr 2004, 16:15
Hi,
was genau ist denn dein Problem?

So wie es dort steht, ist es nämlich richtig. So wie ich dich verstanden habe willst du jetzt dein Frame füllen.
Das würde dann über den dynamischen Weg gehen. Beispiel:
Delphi-Quellcode:
var
  frmFrame: TFrame; // dein Frame
  lbLabel: TLabel; // ein Label;
begin
  // Frame erstellen und Eigenschaften setzen

  lbLabel := TLabel.Create(frmFrame);
  lbLabel.Parent := frmFrame;
  lbLabel.Name := 'EinLabel';
  lbLabel.AutoSize := true;
  lbLabel.Caption := 'Die Beschriftung';
  lbLabel.Left := 10;
  lbLabel.Top := 10;
  lbLabel.Show;

  frmFrame.Show;
end;
Chris
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: TFrame in ein Form einbinden

  Alt 26. Apr 2004, 16:20
So wie ich das verstanden habe, will er ein schon (zur Entwurfszeit) gefülltes Frame auf dem Form anzeigen, und es nicht zur Laufzeit dynamisch füllen.
@cBoB: Bei mir ist es auf deinem Weg immer noch gegangen, wobei ich immer das Frame erstellt, hinzugefügt und dann erst das Form angezeigt habe. Das ist auf einem MainForm natürlich nicht so einfach möglich. Probier mal, das Frame in der OnCreate des Forms hinzuzufügen, aber Visible auf False setzen. Sobald du das Frame brauchst, setzt du Visible auf True. (Falls du das Frame von Anfang an brauchst, vergiss das mit dem Visible)
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von cBoB
cBoB

Registriert seit: 5. Apr 2004
Ort: Berlin
61 Beiträge
 
Delphi 5 Professional
 
#4

Re: TFrame in ein Form einbinden

  Alt 27. Apr 2004, 08:07
@Chakotay
Ja, wie das geht ist dann schon klar. Nur liegt eben das Problem, wie von alcaeus richtig erkannt, eben darin, ein schon fertig entworfenes Frame dann dynamisch einzubinden und das ohne, das es vorher ins Form eingebunden wurde und auf invisible gesetzt wurde. Es geht nämlich darum so nach und nach für verschiedene Arten von Zusammenstellungen Frames zum Programm hinzu zu fügen.

@alcaeus
Ja wie gesagt, hatte auch gedacht, dass es so geht. Muß wohl irgendwo noch ein Fehler liegen. Es sollte auch ohne daß ich das Frame schon ins Form einbinde und nur unsichtbar mache gehen.

Danke
-c-
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: TFrame in ein Form einbinden

  Alt 27. Apr 2004, 08:39
Hi,
sicherlich hast du dein Frame über Neu -> Frame ein Frame erstellt. Das kannst du nun anzeigen lassen zur Designtime, indem du in der Komponentenleiste ganz rechts unter Standard "Frame" auswählst. Dann nimmst du dein Frame aus der Liste, welche erscheint und schon ist dein Frame zur Designtime drin.

Chris
  Mit Zitat antworten Zitat
LKutscher

Registriert seit: 25. Sep 2003
7 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: TFrame in ein Form einbinden

  Alt 27. Apr 2004, 08:48
Ich hab' gerade 'mal schnell ein Frame erstellt und in ein neues Formular eingebunden (im OnCreate) - funktioniert alles prima. Das Frame wird genau so angezeigt, wie ich es gespeichert habe. Ich habe nur Form1 durch "self" ersetzt - dann ist man unabhängig vom Namen der Formularvariablen. Bist du sicher, dass das Problem nicht vielleicht im constructor deines Frame liegt?
  Mit Zitat antworten Zitat
Benutzerbild von cBoB
cBoB

Registriert seit: 5. Apr 2004
Ort: Berlin
61 Beiträge
 
Delphi 5 Professional
 
#7

Re: TFrame in ein Form einbinden

  Alt 27. Apr 2004, 10:20
@all:

SORRY! Ich war leider zu dämlich! Das Progrämmchen hat schon alles gemacht, ich habs nur falsch interpretiert. Hatte nämlich auf dem Frame lediglich ein Panel um die Ränder sichtbar zu machen, bei dem ich am Align rumgespielt hab. Dabei habe ich das erst auf alClient und dann wieder auf alNone gestellt. Zur Entwurfszeit blieb das Panel ja sichtbar, muß wohl aber zur Laufzeit dann doch hinter den äußeren Grenzen verschwunden sein. Ob das normal ist bzw. es dafür ein Erklärung gibt?

Danke
-c-
  Mit Zitat antworten Zitat
Delphi_Fanatic

Registriert seit: 24. Mär 2004
201 Beiträge
 
#8

Re: TFrame in ein Form einbinden

  Alt 27. Apr 2004, 10:25
(Frame mit der rechten Maus-taste anklicken und in dem Kontext-menü, das dann erscheint, auf "Zur Palette hinzufügen" klicken).
  Mit Zitat antworten Zitat
jschade

Registriert seit: 11. Jul 2003
Ort: Hamburg
62 Beiträge
 
#9

Re: TFrame in ein Form einbinden

  Alt 27. Apr 2004, 10:36
hi,

1. also du musst unter uses in deiner form das frame(unitname unter dem du das frame gespeichert hast) angeben!

Code:
uses frame1;
2.unter private dann:

Code:
private
DeinFrame1 := TDeinFrame;      //DeinFrame ist der Name deines Frames
3. der aufruf zur laufzeit, bei mir übern button:

Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if not assigned(DeinFrame1)then begin
   DeinFrame1 := TDeinFrame.Create(Panel1); //PanelIndex bestimmt,wo in deiner Form das Frame in
                                             // deiner Form erscheinen soll (Panel1 muss vorher in
                                             // die Form eingefügt werden)
   DeinFrame1.Parent := Panel1;
 end;
 DeinFrame1.BringToFront;
end;
  Mit Zitat antworten Zitat
Benutzerbild von cBoB
cBoB

Registriert seit: 5. Apr 2004
Ort: Berlin
61 Beiträge
 
Delphi 5 Professional
 
#10

Re: TFrame in ein Form einbinden

  Alt 27. Apr 2004, 10:56
@jschade
Joa, sieht auch nicht schlecht aus - aber wie gesagt, s war n Problem, das eigentlich gar keins war, ich hatte mich nur zu blöd angestellt, es zu sehen. Aber trotzdem danke!

-c-
  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 10:38 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