AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Hintergrundfarbe des AKTIVEB Tabsheets ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Hintergrundfarbe des AKTIVEB Tabsheets ändern

Ein Thema von juergen · begonnen am 30. Aug 2005 · letzter Beitrag vom 1. Sep 2005
Antwort Antwort
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#1

Hintergrundfarbe des AKTIVEB Tabsheets ändern

  Alt 30. Aug 2005, 22:47
Hallo zusammen,
ich möchte einem aktiven Tab eine andere Farbe zuweisen.
Eine Möglichkeit habe ich gefunden. --> Eigenschaft "Highlighter" auf True setzen...
Sieht aber net so toll aus

Ist es denn ohne sehr großen Aufwand möglich, z.B. den AKTIVEN Tabsheet weiss einzufärben?

Gruß Jürgen
Jürgen
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#2

Re: Hintergrundfarbe des AKTIVEB Tabsheets ändern

  Alt 30. Aug 2005, 23:14
Hallo

Frag doch mal Google:

  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#3

Re: Hintergrundfarbe des AKTIVEB Tabsheets ändern

  Alt 30. Aug 2005, 23:19
Editier bitte mal deinen Link... So, wie er jetzt ist, ist er nutzlos.
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Hintergrundfarbe des AKTIVEB Tabsheets ändern

  Alt 30. Aug 2005, 23:34
Danke für den Tip. Aber das was ich möchte habe ich dort leider nicht gefunden.
Ich habe mich vielleicht auch nicht ganz deutlich ausgedrückt:
Nicht die gesamte Seite soll eingefärbt werden, sondern nur der Reiter.
Im Prinzip genauso wie wenn man den Hightlighter auf true setzt.

Grüsse Jürgen
Jürgen
  Mit Zitat antworten Zitat
Bob68

Registriert seit: 24. Aug 2005
Ort: Moers
20 Beiträge
 
Delphi 2006 Enterprise
 
#5

Re: Hintergrundfarbe des AKTIVEB Tabsheets ändern

  Alt 31. Aug 2005, 06:50
Hallo kannst du vieleicht hiermit was anfangen.

Delphi-Quellcode:
PROCEDURE TForm1.TabControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer; CONST Rect: TRect; Active: Boolean);


BEGIN
 WITH Control.Canvas DO
   BEGIN
     IF Active = true THEN
       BEGIN
         Brush.Color := clred;
         Font.Color := clblack;

         Font.Style := [fsbold];

       END
     ELSE
       BEGIN
         Brush.Color := clLime;
         Font.Color := clblack;

       END;
     TextOut(Rect.Left + 4, Rect.Top + 4,
      TabControl1.Tabs[TabIndex]);

   END;
 End;
Gruß Bob68
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Hintergrundfarbe des AKTIVEB Tabsheets ändern

  Alt 31. Aug 2005, 19:41
Hallo Bob68!
Vielen, vielen Dank! Das sieht schon sehr gut aus!
Allerdings bekomme ich es mit Delphi 2005 PE (noch) nicht ganz ans Laufen!
Anstatt TabControl verwende ich PageControl....
In deinem Code schreibst du:

TextOut(Rect.Left + 4, Rect.Top + 4, TabControl1.Tabs[TabIndex]); Was muss ich anstelle von TabControl1.Tabs verwenden???
Klar, erst einmal PageControl1. ?????

Ich habe es probiert mit PageControl1.ActivePage und PageControl1.ActivePageIndex
Bei ersterem kommt der Fehler:
[Fehler] rechner.pas(1509): E2149 Klasse besitzt keine Standardeigenschaft

Verwende ich ActivePageIndex kommt Fehler:
[Fehler] rechner.pas(1509): E2016 Array-Typ erforderlich


Kann mir hier abschließend jemand weiterhelfen?

Viele Grüße
Jürgen
Jürgen
  Mit Zitat antworten Zitat
Bob68

Registriert seit: 24. Aug 2005
Ort: Moers
20 Beiträge
 
Delphi 2006 Enterprise
 
#7

Re: Hintergrundfarbe des AKTIVEB Tabsheets ändern

  Alt 1. Sep 2005, 05:37
Hallo Jürgen versuche es mal mit:

TextOut(Rect.Left + 4, Rect.Top + 4,PageControl1.Pages[TabIndex].Caption); Gruß
Bob68
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Hintergrundfarbe des AKTIVEB Tabsheets ändern

  Alt 1. Sep 2005, 22:13
Hallo Bob68,
Super!!! Nun funzt alles so wie ich es gern haben möchte!
Noch mal herzlichen Dank!!!

Der Vollständigkeitshalber hier meine Umsetzung:
Delphi-Quellcode:
PROCEDURE TForm1.PageControl1OnDrawTab(Control: TCustomTabControl;
  TabIndex: Integer; CONST Rect: TRect; Active: Boolean);


BEGIN
WITH Control.Canvas DO
   BEGIN
     IF Active = true THEN
       BEGIN
         Brush.Color := clred;
         Font.Color := clblack;

         Font.Style := [fsbold];

       END
    ELSE
       BEGIN
         Brush.Color := clLime;
         Font.Color := clblack;

       END;
       TextOut(Rect.Left + 4, Rect.Top + 4,PageControl1.Pages[TabIndex].Caption);

   END;
End;
Dann das ganze dem "OnDrawTab" Ereignis zugeordnet und die Eigenschaft "OwnerDraw" auf "True" gesetzt und alles funzt wie gewünscht!

Gruß
Jürgen
Jürgen
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:49 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