![]() |
PageControl --> JvTabBar
Hi,
im folgenden Code seht ihr meine Methode einen TabSheet einer PageControl zu erstellen. Aber das Problem ist, dass ich den Code für die JvTabBar zum laufen bringen muss. Nur wie mach ich das ? Das Problem: wie kommt das Memo in die JvTabBar hinein ?
Delphi-Quellcode:
ist das erstellen, aber dann fehlt mir noch das Memo und die zeilen im Memo.
JvTabBar.Tabs.TabBar.AddTab(Edit.Text);
Delphi-Quellcode:
Falls es sehr einfach ist: Ich habe grade höllische Kopfschmerzen und will mir jetzt nicht großartig den Kopf zerschmettern, aber mir würde das ganze so oder so Schwer fallen, die kopfschmerztablette muss erst noch wirken :mrgreen:
type
TExtendedTabSheet = class(ComCtrls.TTabsheet) constructor Create(AOwner: TComponent); private fMemo : TMemo; public published property Memo : TMemo read fMemo write fMemo; end; procedure TfrmMain.Blacklanguage1Click(Sender: TObject); begin with Sheet do begin Sheet := TExtendedTabSheet.Create(Pages); PageControl := Pages; Caption := Edit1.Text; fMemo.Font.Color := clWhite; fMemo.Lines.Add('class Unbenannt '); fMemo.Lines.Add('var x, y, z: integer'); fMemo.Lines.Add(''); fMemo.Lines.Add('item proc; '); fMemo.Lines.Add('{'); fMemo.Lines.Add(' z := b'); fMemo.Lines.Add('}'); fMemo.Lines.Add(''); fMemo.Lines.Add('{'); fMemo.Lines.Add(' x := a;'); fMemo.Lines.Add(' y := a;'); fMemo.Lines.Add(' Writeln (x); readln (y)'); fMemo.Lines.Add('}'); Show; end; end; procedure TfrmMain.Sheet_Create; var TabSheet : TTabSheet; begin TabSheet := TTabSheet.Create(Self); with TabSheet do begin Align := alCLient; Parent := TabSheet; end; TabSheet.PageControl := Pages; end; constructor TExtendedTabSheet.Create(AOwner: TComponent); begin inherited; fMemo := TMemo.Create(self); with fMemo do begin Parent := TWinControl(self); Align := alClient; end; with fMemo do fMemo.Align := alClient; fMemo.Color := clBlack; fMemo.Show; end; |
Re: PageControl --> JvTabBar
Zitat:
Delphi-Quellcode:
Tabs.Tabbar zeigt wieder auf die JvTabBar ;)
JvTabBar.AddTab(Edit.Text)
zweitens, gibts bei den Tabs eine Data Eigenschaft bei der du ein Objekt zuweisen kannst. Allerdings arbeitet es nicht wie ein Pagecontrol. Es gibt einfach nicht mehrere Seiten. Heisst du musst dich um das Sichtbar unsichtbar schalten selbst kümmern. Die JvTabBar ist ideal um mit MDI-Fenstern zu arbeiten. Habe ich gestern auch entdeckt und bei meinem Skripteditor eingebaut. |
Re: PageControl --> JvTabBar
Es gibt da aber doch JvPageList. Hilft mir die da irgendwie weiter ?
|
Re: PageControl --> JvTabBar
Zitat:
Du kannst ja bei dir Data das Memo zuweisen und dann immer sichtbar bzw. unsichtbar machen ... |
Re: PageControl --> JvTabBar
Was mir am wichtigsten ist: Es soll genauso wie eine PageControl vom User benutzt werden können und genau so funktionieren. Geht das auf diese Art und Weise ?
|
Re: PageControl --> JvTabBar
Lege eine TJvPageList auf das Formular und trage diese in the JvTabBar.PageList Eigenschaft ein. Danach musst du genau so viele JvPageList-Seiten erstellen wie du TabBar-Items hast. Ansonsten bekommst du lauter "Index überschreitet das Maximum" Fehler.
Das die beiden Komponenten TJvTabBar und TJvPageList nicht näher zusammen arbeiten liegt daran, dass die TJvTabBar Komponente so designed wurde dass sie unter VCL, VisualCLX, VCL.NET und WinForms (dazu braucht man eine Test-Bibliothek vom JediDotNet Project) funktioniert. In der neuesten Version (aus dem CVS) gibt es jetzt für die TJvTabBarItem eine "AutoDeleteData: TObjectList" Eigenschaft und TJvCustomPage (für TJvPageList) besitzt eine Data-Eigenschaft. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:08 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-2025 by Thomas Breitkreuz