Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Tabsheet Problem (https://www.delphipraxis.net/16720-tabsheet-problem.html)

MasterC 22. Feb 2004 13:08


Tabsheet Problem
 
Hi, ich habe folgendes Problem:

So erstelle ich Tabs und lade den Synedit:

Delphi-Quellcode:
procedure TMainform.NeuExecute(Sender: TObject);
var
  Datei : TTabSheet;
begin
  Datei:=TTabSheet.Create(Self);
  unbekanntcount := unbekanntcount + 1;
  Datei.Caption:='Unbekannt ' + inttostr(unbekanntcount);
  Datei.Tag := tagcount;
  Datei.Visible := true;
  Datei.PageControl:=Tabber1;
  synedit1 := Tsynedit.Create(datei);
  synedit1.Parent := datei;
  synedit1.Align := alclient;
  synedit1.SearchEngine := mainform.SynEditSearch1;
  synedit1.OnChange:=SynEdit1Change;
  synedit1.OnSpecialLineColors:=SynEdit1SpecialLineColors;
  datei.Show;
end;
Wenn ich jetzt da was mache, meinetwegen :

Delphi-Quellcode:
with tabber1.Activepage do begin
synedit1.lines.loadfromfile('C:\test.bb');
end;
Dann läd er das immer ins zuletzt geöffnete TabSheet. Das macht er mit allen Aktionen, wo ist mein Fehler?

Markus K. 22. Feb 2004 14:01

Re: Tabsheet Problem
 
Hallo ganxta,
dein Problem ist, dass du immer das TabSheet ansprichst, welches aktiv ist.
Delphi-Quellcode:
with tabber1.Activepage do
Ich gehe mal davon aus, dass Tabber1 die PageControl-Komponente ist.
Du kannst dein Problem folgenderweise lösen:
Delphi-Quellcode:
with TabSheet2 do
begin
{Aktion}
end;
oder
Delphi-Quellcode:
var n:Integer;
begin
     with pagecontrol1.Pages[n] do
     begin
     {Aktion}
     end;
end;
Tschüß Markus

MasterC 22. Feb 2004 14:24

Re: Tabsheet Problem
 
Aber ich will ja die Tabsheet benutzen die gerade gezeigt wird.

Markus K. 22. Feb 2004 14:39

Re: Tabsheet Problem
 
Du hattest geschrieben, dass er es immer in das zuletzt geöffnete TabSheet anzeigt. Unter dem zuletzt geöffneten TabSheet verstehe ich, dass jenes aktiv ist(TabSheet besitzt Focus). In welchen TabSheet möchtest du es denn anzeigen?

MasterC 22. Feb 2004 16:04

Re: Tabsheet Problem
 
Das momentan gezeigt wird eben.

Markus K. 22. Feb 2004 16:25

Re: Tabsheet Problem
 
Und auf welchem TabSheet zeigt er den Text nun an? Oben hattest du geschrieben im zuletzt geöffneten, welche bei mir das aktive ist. Eben hast du geschrieben, dass es in dem TabSheet angezeigt werden soll welches momentan angezeigt wird(=aktive).
Sorry verstehe dich ned richtig :oops: :wall:

MasterC 22. Feb 2004 16:30

Re: Tabsheet Problem
 
Es soll in dem TabSheet angezeigt werden soll welches momentan angezeigt wird.

MasterC 23. Feb 2004 12:41

Re: Tabsheet Problem
 
Das funktioniert nicht. :(
Kann mir nicht irgendjemand helfen?

sakura 23. Feb 2004 12:51

Re: Tabsheet Problem
 
Delphi-Quellcode:
procedure TMainform.NeuExecute(Sender: TObject);
var
  Datei : TTabSheet;
  synedit1: Tsynedit;
begin
  Datei:=TTabSheet.Create(Self);
  unbekanntcount := unbekanntcount + 1;
  Datei.Caption:='Unbekannt ' + inttostr(unbekanntcount);
  Datei.Tag := tagcount;
  Datei.Visible := true;
  Datei.PageControl:=Tabber1;
  synedit1 := Tsynedit.Create(Self);
  synedit1.Parent := datei;
  synedit1.Name := 'synedit' + IntToStr(Datei.Tag);
  synedit1.Align := alclient;
  synedit1.SearchEngine := mainform.SynEditSearch1;
  synedit1.OnChange:=SynEdit1Change;
  synedit1.OnSpecialLineColors:=SynEdit1SpecialLineColors;
  datei.Show;
end;
Wenn ich jetzt da was mache, meinetwegen :

Delphi-Quellcode:
function TForm1.CurrentSynEdit: TSynEdit;
begin
  Result := TSynEdit(FindComponent('synedit' + IntToStr(tabber1.Activepage.Tag)));
end;

...
CurrentSynEdit.lines.loadfromfile('C:\test.bb');
...:cat:...

MasterC 23. Feb 2004 13:56

Re: Tabsheet Problem
 
Endlich versteht mich hier jemand, danke Sakura!


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