Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Kompo zur Laufzeit auf einem TaNotebook erstellen (https://www.delphipraxis.net/19028-kompo-zur-laufzeit-auf-einem-tanotebook-erstellen.html)

yankee 27. Mär 2004 23:11


Kompo zur Laufzeit auf einem TaNotebook erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich will eine Komponent auf einer Seite einer TabNotebook erstellen. Mein Ansatz:
Delphi-Quellcode:
var MySynEdit:TSynEdit;
begin
TabbedNotebook1.Pages.Add('Editor2');
TabbedNotebook1.ActivePage :='Editor2';
MySynEdit :=TSynEdit.create(self);
MySynEdit.Parent :=TabbedNotebook1;
MySynEdit.Show;
MySynEdit.Align :=alclient;
end;
Na ja, dass hat nicht gefunzt, also habe ich den align-Teil wegkommentiert und stattdessen Left=300; eingefügt. Was dabei rauskommt, wenn man dann auf Eine andere Registerkarte wechselt und wieder zurück, ist im Anhang

Also wie bekomme ich das jetzt richtig?

Die Muhkuh 28. Mär 2004 10:36

Re: Kompo zur Laufzeit auf einem TaNotebook erstellen
 
Versuchs mal so:

Delphi-Quellcode:
var MySynEdit:TSynEdit;
begin
TabbedNotebook1.Pages.Add('Editor2');
TabbedNotebook1.ActivePage :='Editor2';
MySynEdit :=TSynEdit.create(TabbedNotebool1);
MySynEdit.Parent :=TabbedNotebook1;
MySynEdit.Show;
MySynEdit.Align :=alclient;
end;

yankee 28. Mär 2004 11:28

Re: Kompo zur Laufzeit auf einem TaNotebook erstellen
 
Eigentlich sehr bizarr, so habe ich es auch schon probiert. Und erst habe ich das gefühl, als hätte alles gefunzt, aber das hat es nicht, denn wenn man auf eine andre Registerkarte wechselt und wieder zuück, ist das SynEdit hinter dem Notebook, also nicht mehr zu sehen

Christian Seehase 28. Mär 2004 12:57

Re: Kompo zur Laufzeit auf einem TaNotebook erstellen
 
Moin Yankee,

warum nimmst Du nicht lieber ein TPageControl?

yankee 28. Mär 2004 13:15

Re: Kompo zur Laufzeit auf einem TaNotebook erstellen
 
Gute Idee, wollte ich gerade mal versuchen. Aber scheibra gibt es dort die procedure .pages.add nicht. Also wie mache ich es dann?

Christian Seehase 28. Mär 2004 13:38

Re: Kompo zur Laufzeit auf einem TaNotebook erstellen
 
Moin Yankee,

Du erzeugst ein TabSheet und weist dessen Eigenschaft PageControl das gewünschte zu:


Delphi-Quellcode:
  with TTabSheet.Create(PageControl1) do begin
    PageControl := PageControl1;
    Parent     := PageControl1;
    Caption    := 'Tabsheet'+IntToStr(PageControl1.PageCount);
    Name       := 'Tabsheet'+IntToStr(PageControl1.PageCount);
  end;

yankee 28. Mär 2004 14:13

Re: Kompo zur Laufzeit auf einem TaNotebook erstellen
 
Vielen Dank für die schnelle Atwort erstmal, aber irgendwie habe ich das Problem immernoch. Der Quelltext:
Delphi-Quellcode:
procedure Tmainform.NewWindow1Click(Sender: TObject);
var MySynEdit:TSynEdit;
begin
with TTabSheet.Create(jvPageControl1) do begin
    PageControl := jvPageControl1;
    Parent     := jvPageControl1;
    Caption    := 'Tabsheet'+IntToStr(jvPageControl1.PageCount);
    Name       := 'Tabsheet'+IntToStr(jvPageControl1.PageCount);
end;
jvpagecontrol1.ActivePageIndex :=2;

MySynEdit :=TSynEdit.create(jvPageControl1);
MySynEdit.Parent :=jvPageControl1;
MySynEdit.Show;
MySynEdit.Align :=alclient;
end;
Ich führe die procedure aus. Ok. Ich gehe auf ein anderes Tab. Ok. Ich komme zurück UND MEIN SYNEDIT IST WIEDER WEEEEEEG!!!! *heul* *heul*

WIESO??????????????????????????????

Christian Seehase 28. Mär 2004 14:21

Re: Kompo zur Laufzeit auf einem TaNotebook erstellen
 
Moin Yankee,

Du musst als Parent das Tabsheet angeben, auf dem die SynEdit Kompo liegen soll.

yankee 28. Mär 2004 14:26

Re: Kompo zur Laufzeit auf einem TaNotebook erstellen
 
JUUUUUUUHHHHHHHHUUUUUUUUUUU :thuimb: :thuimb: :thuimb:
ES GEHT!!!!!!!!!!!!!!!!!!! :lol: :lol: :lol:

SPAß!!!!!!! Jetzt kann ich wieder weiter :coder:
:roteyes: :roteyes:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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 by Thomas Breitkreuz