Autor Beitrag
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Sa 17.01.15 12:43 
Hallo!

Ich programmiere an einem Texteditor, da habe ich eine TJvTabBar, bei der ich der Eigenschaft Painter eine TJvTabBarXPPainter-Komponente zugewiesen habe. Optisch sieht das ja ganz gut aus, bis auf die blaue Farbe, die die JvTabBar nun hat. JvTabBar.Color gibt's nicht, und bei JvTabBarXPPainter gibt es auch keine Color-Einstellungen.

Wie kann ich JvTabBarXPPainter beibehalten und trotzdem die Farbe bei JvTabBar ändern?
Einloggen, um Attachments anzusehen!
_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 17.01.15 14:53 
Ich schaue dann einfach mal in den Quelltext, vor allem wenn der nur 200 Zeilen lang ist wie in diesem Fall... :zwinker:

Wenn du mal in den Quelltext ganz oben direkt unter implementation schaust, siehst du, dass du nur DrawBackground überschreiben musst.
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Sa 17.01.15 15:13 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Ich schaue dann einfach mal in den Quelltext, vor allem wenn der nur 200 Zeilen lang ist wie in diesem Fall... :zwinker:

Wenn du mal in den Quelltext ganz oben direkt unter implementation schaust, siehst du, dass du nur DrawBackground überschreiben musst.

:D
Konkret hier die Lösung, für alle, die so wie ich alles Mögliche, inklusive googeln, versuchen, aber die Lösung nicht sehen/finden/erkennen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TJvTabBarXPPainter.DrawBackground(Canvas: TCanvas;
  TabBar: TJvCustomTabBar; R: TRect);
var
  Details: TThemedElementDetails;
begin
(*  if ThemeServices.{$IFDEF RTL230_UP}Enabled{$ELSE}ThemesEnabled{$ENDIF RTL230_UP} then
  begin
    Details := ThemeServices.GetElementDetails(ttTabRoot);
    ThemeServices.DrawElement(Canvas.Handle, Details, R);
  end
  else
*)
    inherited DrawBackground(Canvas, TabBar, R);

Vielen Dank!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!