AGB  ·  Datenschutz  ·  Impressum  







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

VCL Styles nur für einzelne Controls?

Ein Thema von ULIK · begonnen am 6. Nov 2024 · letzter Beitrag vom 6. Nov 2024
Antwort Antwort
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
426 Beiträge
 
Delphi 11 Alexandria
 
#1

VCL Styles nur für einzelne Controls?

  Alt Gestern, 16:39
Ist es irgendwie möglich, die VCL Styles nur für einzelne Controls zu aktivieren, nicht aber für die gesamte Anwendung?

Hintergrund der Frage: meine Anwendung verwendet das Skinning vom DevExpress um einen dunklen Modus und ein W11 kompatibles Aussehen zu realisieren (da stark DX-Controls basiert). Allerdings gibt es noch einzelne andere Controls die vom DX-Skinning nicht erfaßt werden.
Das führt nun dazu, daß manche Scrollbars nun im W11 Stil (und dunkel) dargestellt werden, andere dagegen im Default VCL-Stil und hell.

Meine Idee war es nun, die VCL Stile dafür zu verwenden und nur die paar Controls damit partiell zu skinnen, die vom DX Skinning nicht erfaßt werden. Theoretisch funktioniert das auch, sobald ich die VCL-Styles einbinde und den Default auf einen der gewählten stelle. Dann erscheinen nun die Scrollbars richtig geskinnt und ich kann über den StyleName des Controls explizit z.B. Hell/Dunkel umstellen. Nur führt das generelle Skinnen zu anderen Problem, das es wiederum Elemente erfaßt, die explizit nicht geskinnt werden sollen.

Sobald ich aber das VCL-Skining mit Default 'Windows' verwende, greift für die Controls das Skinning überhaupt nicht mehr, auch wenn ich dort dann explizit als StyleName einen von mir gewünschten einsetze.


Gibt es da irgendeine Lösung? Mir würde es im Prinzip reichen, wenn ich einem Control (z.B. TMemo) sagen könnte: bitte stelle die interne Scrollbar so dar, wie es das Betriebssystem darstellen würde. Und verwende dazu die optionale(n) Farbe(n) ...
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
700 Beiträge
 
Delphi 12 Athens
 
#2

AW: VCL Styles nur für einzelne Controls?

  Alt Gestern, 16:52
Hast Du mal versucht, die StyleElements-Eigenschaft der betreffenden Controls zu ändern?
Peter Below
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
426 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: VCL Styles nur für einzelne Controls?

  Alt Gestern, 17:16
Das will ich eigentlich vermeiden. Denn dann müßte ich von allen Controls die Properties erst einmal leeren und dann wieder einschalten, wo benötigt. Mir wäre eine Lösung ohne Default VCL-Stil insofern sypathischer, das sich dann hoffentlich nicht das VCL Skinning und das DX-Skinning in die Quere kommen können. Ich bin mir nicht sicher, ob DX Skinning immer ein mögliches VCL Skinning überschreibt. Es scheint zwar so zu sein, aber ich weiß es halt nicht sicher.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.430 Beiträge
 
Delphi 12 Athens
 
#4

AW: VCL Styles nur für einzelne Controls?

  Alt Gestern, 17:30
Du kannst den VCL-Style in der Applikation aktivieren und trotzdem bei jedem Form den Windows-Style auswählen. Dann sollte es auch funktionieren, wenn du einzelne Controls im Form einen anderen Style gibst.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
269 Beiträge
 
Delphi 12 Athens
 
#5

AW: VCL Styles nur für einzelne Controls?

  Alt Gestern, 17:33
Ich hatte mal gewissermaßen das umgekehrte Problem:
Ich verwende einen dunklen VCL-Stil, der aber nicht bei allen Komponenten richtig greift (oftmals sind Drittanbieterkomponenten ein Problem).
Meine Lösung war es, eine generische Methode zu schreiben, die im FormCreate einer Form deren Komponentenliste durchgeht und, wenn sie auf einen Problemtyp stößt, bei der Komponente die problematischen StyleElements deaktiviert und manuell Farben etc anpasst.

Abhängig davon, um was für und wieviele Control-Typen es sich handelt, wäre das vielleicht eine Option.
  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 03:48 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