Delphi-PRAXiS
Seite 1 von 2  1 2      

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 PageControl - aktives TabSheet (https://www.delphipraxis.net/50823-pagecontrol-aktives-tabsheet.html)

rauschs 1. Aug 2005 14:26


PageControl - aktives TabSheet
 
Guten Tag erstmal...
So.. bin seit heute morgen ca. 8 Uhr hier unterwegs und hab dazu nichts gefunden oder bin zu bled.. also..:

Habe ein Pagecontrol mit 3 Tabsheets...
Das aktive Tabsheet soll immer einen weißen Hintergrund haben..
Aber halt nicht nur das Tabsheet auch der aktive Reiter oben im Pagecontrol...
Die anderen beiden Tabsheets sollen grau bleiben...

Ich hoffe ihr wisst was ich meine...

LG,
Sascha

s14 1. Aug 2005 14:31

Re: PageControl - aktives TabSheet
 
Hallo Sascha,
das hört sich genau nach JvPageControl an :-)

Such mal nach JEDI VCL.

http://jvcl.sourceforge.net

/edit:Link eingefügt

rauschs 2. Aug 2005 09:38

Re: PageControl - aktives TabSheet
 
Guten Morgen..
Hab mir das zwar mal angeschaut, werde aber da irgendwie nicht schlau drauß... :(
Kannste mir da weiterhelfen..?

Gruß,
Sascha

Sharky 2. Aug 2005 10:13

Re: PageControl - aktives TabSheet
 
Hau Sascha,

dieser Code sollte die Tabs so einfärben wie Du es möchtest:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  PageControl1.OwnerDraw := True;
end;

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  TabIndex: integer; const Rect: TRect; Active: boolean);
begin
  with (Control as TPageControl) do
  begin
    if (Active) then
      Canvas.Brush.Color := clBlue
    else
      Canvas.Brush.Color := clBtnFace;
    Canvas.FillRect(Rect);
    Canvas.TextOut(Rect.Left + 5, Rect.Top + 3, Pages[TabIndex].Caption);
  end;
end;

rauschs 2. Aug 2005 10:18

Re: PageControl - aktives TabSheet
 
Sorry..
Aber bei mir färbt sich da gar nichts... :?:

Gruß,
Sascha

Sharky 2. Aug 2005 10:24

Re: PageControl - aktives TabSheet
 
Hmmm... bei mir geht es.

Aber mal eine andere Frage ;-)
Wenn ich mir die Farben ansehe die Du haben möchtest so sieht das ganz nach einem XP-Style aus. Wenn es also auf einem XP-System so aussehen soll binde doch einfach ein XP-Manifest ein.

rauschs 2. Aug 2005 10:28

Re: PageControl - aktives TabSheet
 
Ich weiß nicht ob ich das ganz verstanden habe...
Das soll z.B. auch unter Win2000 laufen usw.
Werde es nochmal probieren.. bin gerade nochmal am installieren der Dateien vom Link ganz oben auf der Seite...

Gruß,
Sascha

rauschs 2. Aug 2005 10:33

Re: PageControl - aktives TabSheet
 
Noch ne Frage..
Wo ist denn in deinem Code die verschiedenen Tabs aufgelistet..?
Es müsste laut deinem Beispiel ja nur ein PageControl-Fenster sein...
Aber wo sind die 4 Tabs..?

Gruß,
Sascha

Sharky 2. Aug 2005 10:41

Re: PageControl - aktives TabSheet
 
Welche 4 Tabs?

Das Ereigniss Delphi-Referenz durchsuchenOnDrawTab wir für jedes vorhandene Tab aufgerufen (egal wie viele es gibt). Über Aktive prüfe ich ob das eben zu zeichnende Tab das aktive ist.

rauschs 2. Aug 2005 10:53

Re: PageControl - aktives TabSheet
 
OK... das geht jetzt bei mir...
Jetzt soll das untere Tabsheet auch weiß werden.. dachte das es so geht.. hab mich aber getäuscht...

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
with (Control as TPageControl) do
begin
if (Active) then
begin
Canvas.Brush.Color := clWhite;
pagecontrol1.ActivePage.Brush.Color := clWhite;
end
else
Canvas.Brush.Color := clBtnFace;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left + 5, Rect.Top + 3, Pages[TabIndex].Caption);
end;
end;

Es wird zwar weiß, aber erst wenn man den Reiter (die Tabs) oben schon mal durchgegangen... also erst beim 2ten Mal..
Und wie bekomm ich den hässlichen Rand da weg..?

Gruß,
Sascha

P.S.: Danke schonmal, für die bis hierher aufgebrachte Geduld...


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 Uhr.
Seite 1 von 2  1 2      

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