Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.372 Beiträge
 
Delphi 12 Athens
 
#1

VCL Style wird nicht mehr gesetzt :-(

  Alt 18. Sep 2024, 10:05
Hallöle...

Seit wann der Style nicht mehr gesetzt wird...keine Ahnung. Keiner sagt irgendwas. Die 5 User, die einen anderen Style haben, hätten meckern sollen...nö.

Unsere Anwendung hat einen Default Style in Blau (VCL Luna, DevExpress Office2010Blue). Die Entwicklung ist auch in Blau. Der Style wird entsprechend einer Einstellung in den StyleManager "übertragen". Zu Test habe ich den FCurrentStyle := styBlack gesetzt.
Delphi-Quellcode:
// setzen der Preferences der Anwendung (Style)
if FileExists(FPreferencesCommon.DictionaryFolder[ftProgramFolder] + conFileNameUserModifiedSytle) then
begin
  Ini := TMemIniFile.Create(FPreferencesCommon.DictionaryFolder[ftProgramFolder] + conFileNameUserModifiedSytle, TEncoding.UTF8);
  try
    dmStyle.CurrentStyle := TCommonStyle(Ini.ReadInteger('ModifiedStyle', 'Style', 0));
  finally
    Ini.Free;
  end;
end
else
begin
  dmStyle.CurrentStyle := FPreferencesCompany.CompanyStyle;
end;
...
procedure TdmStyle.SetCurrentStyle(const Value: TCommonStyle);
begin
  FCurrentStyle := Value;
  case FCurrentStyle of
    styBlack:
      begin
        TStyleManager.TrySetStyle('Obsidian', True);
        FCurrentDevStyleName := conDevStyleNameBlack;
        FCurrentDevLayout := conDevLayoutBlack;
        FCurrentColors.CurrentTreeFocus := conTreeFocusObsidian;
        FCurrentColors.CurrentTreeFocusBorder := conTreeFocusObsidianBorder;
        FCurrentColors.CurrentTreeTextColor := conTreeTextColorObsidian;
        FCurrentColors.CurrentTreeBackground := conTreeBackgroundObsidian;
        FCurrentColors.CurrentBackground := conBackgroundObsidian;
        FCurrentColors.CurrentBackgroundSplash := conBackgroundObsidianSplash;
      end;
    styBlue:
      begin
        TStyleManager.TrySetStyle('Luna', True);
        FCurrentDevStyleName := conDevStyleNameBlue;
        FCurrentDevLayout := conDevLayoutBlue;
        FCurrentColors.CurrentTreeFocus := conTreeFocusLuna;
        FCurrentColors.CurrentTreeFocusBorder := conTreeFocusLunaBorder;
        FCurrentColors.CurrentTreeTextColor := conTreeTextColorLuna;
        FCurrentColors.CurrentTreeBackground := conTreeBackgroundLuna;
        FCurrentColors.CurrentBackground := conBackgroundLuna;
        FCurrentColors.CurrentBackgroundSplash := conBackgroundLunaSplash;
      end;
    stySilver:
      begin
        TStyleManager.TrySetStyle('Silver', True);
        FCurrentDevStyleName := conDevStyleNameSilver;
        FCurrentDevLayout := conDevLayoutSilver;
        FCurrentColors.CurrentTreeFocus := conTreeFocusLight;
        FCurrentColors.CurrentTreeFocusBorder := conTreeFocusLightBorder;
        FCurrentColors.CurrentTreeTextColor := conTreeTextColorLight;
        FCurrentColors.CurrentTreeBackground := conTreeBackgroundLight;
        FCurrentColors.CurrentBackground := conBackgroundLight;
        FCurrentColors.CurrentBackgroundSplash := conBackgroundLightSplash;
      end;
  end;
end;
Problem:
Alle VCL Componenten (roter Rahmen) sind Blau trotz TStyleManager.TrySetStyle('Obsidian', True) = True Im Menüfenster (Bild1) ist das linke Panel (grüner Rahmen) manuell auf eine dunkleres Grau gesetzt...

Was ich geändert habe in der letzten Zeit:

1. Verlagerung von verschiedenen Units in einen "Base" Ordner
2. Verlagerung von verschiedenen Forms in einen "Base" Ordner
3. Projekt auf die neuen Ordner angepaßt...compiliert fehlerfrei.
4. Datenmodul dmStyle ist auch verlagert.
5. Der Quellcode des Setzen des Styles hat sich nicht geändert.
6. Die Componenten Style Einstellungen sind unverändert.


Nach was muß ich schauen?

Danke.
Miniaturansicht angehängter Grafiken
bild2.jpg   bild1.png  

Geändert von haentschman (18. Sep 2024 um 11:24 Uhr)
  Mit Zitat antworten Zitat