Einzelnen Beitrag anzeigen

venice2

Registriert seit: 5. Dez 2019
Ort: Köln
829 Beiträge
 
Delphi 2010 Architect
 
#4

AW: Menü Farbe setzen ohne VCL Style zu laden?

  Alt 21. Sep 2021, 21:07
Zitat:
Was spricht gegen eine Anpassung des Stils?
Scheint wohl nicht zu funktionieren.

Habe das mal versuchsweise eingebaut.
Warum wird der Style nicht gefunden obwohl vorhanden.

Delphi-Quellcode:
procedure LoadVCLStyles;
var
  s : string;
  LFiles : Types.TStringDynArray;
  StyleInfo: TStyleInfo;
  Path: string;
  f, FileName: string;
begin
  s:=ExtractFilePath(ParamStr(0));
  LFiles:=TDirectory.GetFiles(s, '*.vsf');
  if Length(LFiles)>0 then
  begin
   for f in TDirectory.GetFiles(s, '*.vsf') do
    if TStyleManager.IsValidStyle(f, StyleInfo) and SameText(StyleInfo.Name,
      ExtractFileName(ChangeFileExt(DefSkin, ''))) then
    TStyleManager.LoadFromFile(f)
  end
  else
  begin
    Path := ExtractFilePath(SKAERO_FOLDER);
    FileName := ExtractFileName(ChangeFileExt(DefSkin, ''));
    s:=ResolvePath('Styles', Path);
    for f in TDirectory.GetFiles(s, '*.vsf') do
     if TStyleManager.IsValidStyle(f, StyleInfo) and SameText(StyleInfo.Name, FileName) then
     TStyleManager.LoadFromFile(f); // <<<< läuft bis hier durch sollte also geladen werden.
    StylesPath := f;
  end;
end;
Aber hier meldet er das die Datei nicht gefunden wird.
Delphi-Quellcode:
TStyleManager.TrySetStyle(StylesPath); // Datei inklusive Pfad funktioniert nicht.

TStyleManager.TrySetStyle(ExtractFileName(ChangeFileExt(DefSkin, '')); // Nur Dateiname geht auch nicht.
Stupid!

EDIT:
Ok!
So scheint es zu gehen..
Delphi-Quellcode:
      Path := ExtractFilePath(SKAERO_FOLDER) + 'Styles\';
      StyleName := ExtractFileName(ChangeFileExt(DefSkin, '.vsf'));
      StylesPath := Path + StyleName;
      TStyleManager.SetStyle(TStyleManager.LoadFromFile(StylesPath));
jedoch wenn ich das Design ändere siehe nope.png (ToolTip und Menu Farben)
werden immer noch die alten angezeigt.
Mit unterschiedlichen Styles getestet. Die Farben werden ignoriert bzw. Falsch dargestellt.

Irgendwie nicht das wahre. Das Teil ist zu Fehlerhaft.

Geändert von venice2 (19. Okt 2021 um 15:13 Uhr)
  Mit Zitat antworten Zitat