Autor Beitrag
moddin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75

WinXP Pro
Delphi 7 Enterprise ;-)
BeitragVerfasst: So 05.03.06 18:53 
Hätte jemand Ideen wie man einenen Texteditor ala Firefox ("Tabbed Browsing") umsetzen könnte?

Ich habe es mit einem PageControl versucht da kann man ja neue Tabs machen diese sind aber leer

pls help
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: So 05.03.06 19:01 
du kannst doch eine Prozedur bauen die erst ein Tabsheet mit Create erstellt und dann ein TRichedit erzeugt und es diesem unterordnet(Align auf AlClient und dann wirds auch automaitisch groß,...).

Ganz sauber wäre es freilich dafür eine extra Klasse zu bauen, aber das ist ein deutliches mehr an Arbeit.
moddin Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75

WinXP Pro
Delphi 7 Enterprise ;-)
BeitragVerfasst: So 05.03.06 19:11 
Ja aber wie greife ich dann auf die zu ?

über zb PageControl1.ActivePage.???RichtEdit1????
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: So 05.03.06 19:46 
Du musst alles was du auf einer Tab-Seite haben willst, auf die Tab-Seite ziehen.
Du kannst die Komponenten ganz normal benutzen, wie wenn du sie auf ein Panel legen würdest.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Mo 06.03.06 14:21 
mit PageControl.ActivePage.Components[0]; aber so geht das natürlich nur, wenn du nur eine Komponente darin hast. Bei mehrern musst du mit Components.ComponentCount eine schleife bauen und die Komponenten abfragen ob sie z.B. ein TRichedit sind(oder du belegst bei ihnen bei der Erstellung die Eigenschaft Tag.
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Mo 06.03.06 18:54 
Er kann doch auf alle Komponenten, die auf dem TabSheet liegen, normal zu greifen.

Legst du einen Button auf ein TabSheet des PageControls, kannst du z.B. mit Button1.Caption daraufzugreifen.

Oder hab ich die Frage jetzt falsch verstanden? Erstellt er PageControl erst zur Laufzeit?

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
moddin Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75

WinXP Pro
Delphi 7 Enterprise ;-)
BeitragVerfasst: Mo 06.03.06 19:55 
Ja also um das nochmal genau zu erklären

Ein Texteditor hat eine funktion New , diese fügt einen neuen tab auf dem pagecontrol1 hinzu
Diese soll zur !!laufzeit!! erst erstellt werden und nich im entwicklungsmodus

Meine Probs

1 - Tab zum Pagecontrol hinzufügen
+ darauf ein RichEdit/Memo/synEdit erstellen
2 - Wie erfolgt zugriff zur laufzeit auf dieses RichtEdit/Memo/Synedit? zb beim kopieren etc
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Mo 06.03.06 20:13 
Zu 1.:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
with TTabSheet.Create(PageControl1) do
  begin
    PageControl := PageControl1;
    Name        := 'Name';
    Caption     := 'Caption';
  end;


Zu 2.:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
  with TEdit.Create(PageControl1.Pages[0]) do
  begin
    Name   := 'Edit';
    Parent := PageControl1.Pages[0];
  end;


Zu 3.:
ausblenden Delphi-Quelltext
1:
TEdit(PageControl1.Pages[0].FindComponent('NameDesEdits')).Text := 'Test';					


Oder zu 2.:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var
  TestEdit: TEdit;
begin
  TestEdit        := TEdit.Create(PageControl1.Pages[0]);
  TestEdit.Parent := PageControl1.Pages[0];
  TestEdit.Name   := 'Bla';
end;


Zu 3.:
ausblenden Delphi-Quelltext
1:
TestEdit.Text := 'Test';					

(TestEdit: TEdit; in diesem Fall global deklarieren.)

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)