AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PageControl - aktives TabSheet

Ein Thema von rauschs · begonnen am 1. Aug 2005 · letzter Beitrag vom 2. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
rauschs

Registriert seit: 1. Aug 2005
Ort: Hessen
8 Beiträge
 
#1

PageControl - aktives TabSheet

  Alt 1. Aug 2005, 15:26
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
  Mit Zitat antworten Zitat
s14

Registriert seit: 15. Mai 2003
Ort: München
251 Beiträge
 
Delphi 7 Architect
 
#2

Re: PageControl - aktives TabSheet

  Alt 1. Aug 2005, 15:31
Hallo Sascha,
das hört sich genau nach JvPageControl an

Such mal nach JEDI VCL.

http://jvcl.sourceforge.net

/edit:Link eingefügt
  Mit Zitat antworten Zitat
rauschs

Registriert seit: 1. Aug 2005
Ort: Hessen
8 Beiträge
 
#3

Re: PageControl - aktives TabSheet

  Alt 2. Aug 2005, 10:38
Guten Morgen..
Hab mir das zwar mal angeschaut, werde aber da irgendwie nicht schlau drauß...
Kannste mir da weiterhelfen..?

Gruß,
Sascha
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#4

Re: PageControl - aktives TabSheet

  Alt 2. Aug 2005, 11:13
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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
rauschs

Registriert seit: 1. Aug 2005
Ort: Hessen
8 Beiträge
 
#5

Re: PageControl - aktives TabSheet

  Alt 2. Aug 2005, 11:18
Sorry..
Aber bei mir färbt sich da gar nichts...

Gruß,
Sascha
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: PageControl - aktives TabSheet

  Alt 2. Aug 2005, 11:24
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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
rauschs

Registriert seit: 1. Aug 2005
Ort: Hessen
8 Beiträge
 
#7

Re: PageControl - aktives TabSheet

  Alt 2. Aug 2005, 11:28
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
  Mit Zitat antworten Zitat
rauschs

Registriert seit: 1. Aug 2005
Ort: Hessen
8 Beiträge
 
#8

Re: PageControl - aktives TabSheet

  Alt 2. Aug 2005, 11:33
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
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#9

Re: PageControl - aktives TabSheet

  Alt 2. Aug 2005, 11:41
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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
rauschs

Registriert seit: 1. Aug 2005
Ort: Hessen
8 Beiträge
 
#10

Re: PageControl - aktives TabSheet

  Alt 2. Aug 2005, 11:53
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...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 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