![]() |
VCL Style wird nicht mehr gesetzt :-(
Liste der Anhänge anzeigen (Anzahl: 2)
Hallöle...8-)
Seit wann der Style nicht mehr gesetzt wird...keine Ahnung. :? Keiner sagt irgendwas. :roll: Die 5 User, die einen anderen Style haben, hätten meckern sollen...nö. :roll: 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:
Problem:
// 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; Alle VCL Componenten (roter Rahmen) sind Blau trotz TStyleManager.TrySetStyle('Obsidian', True) = True :gruebel: 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? :gruebel: Danke. |
AW: VCL Style wird nicht mehr gesetzt :-(
Sind die Styles auch "wirklich" einkompiliert oder werden mitgeliefert?
(bei das RuntimePackage benutzt, bzw. die entsprechende Style-Unit in der EXE drin) Im Designer zieht es sich ja die Styles übers DesignTimePackage. Aber ob jetzt Delphis VCL-Styles mit denen von DevExpress kompatibel sind? |
AW: VCL Style wird nicht mehr gesetzt :-(
Liste der Anhänge anzeigen (Anzahl: 1)
Der Style Code ist seit Jahren unverändert im Projekt, und eincompiliert, drin. :zwinker: Seit wann das so ist...keine Ahnung. Zwischenzeitlich habe ich auch auf 12.1 gewechselt...:gruebel:
Zitat:
|
AW: VCL Style wird nicht mehr gesetzt :-(
Wobei viele DevExpressKomponenten (ala Button, Edit oder ComboBox, aber abgesehn von den Grids) ja auf den VCL-Komponenten aufsetzen. (in einer ContainerKlasse verwurschtelt)
|
AW: VCL Style wird nicht mehr gesetzt :-(
Liste der Anhänge anzeigen (Anzahl: 2)
Moin...8-)
keiner hat eine Idee? Was muß ich kontrollieren? Wo setze ich Breakpoints im System? :wink: Lösung: Vorab: Ich denke, daß ich das selbst war, weil ich in der Entwicklung, in den Forms, den Style "Luna", wegen der Positionierung, eingestellt habe. :oops: Der in der Form im OI eingtragene Style Name, in diesem Falle "Luna", blockierte das Ändern des Styles zur Laufzeit der kompletten Form! :shock: Trotz Setzen des anderen Styles blieb die gesamte Form auf "Luna". Ob das so gewollt ist, ist mir ein Rätsel. :gruebel: Der Style sollte sich über das Ändern im StyleManager anpassen... 8-) Fazit: In der Entwicklung den Style leer lassen, es sei denn, daß für das Control ein fester Style gewünscht wird. Ansonsten grundsätzlich den Standard Style in der IDE auswählen. :wink: |
AW: VCL Style wird nicht mehr gesetzt :-(
Zitat:
Ansonsten könntest Du in der Unit, wo "TrySetStyle" ausgeführt wird, einen Breakpoint setzen, um zu kontrollieren, ob es irgendwo evtl einen weiteren Aufruf gibt. Wenn du die Styledateien nicht als separate Dateien auslieferst, sondern einkompiliert sind, könntest Du zur Not (als WorkAround) die Eigenschaft "Stylename" direkt in der Form zur Laufezeit (oder vorher) setzen, wo es problematisch ist (oder auch bei einzelnen Komponenten). |
AW: VCL Style wird nicht mehr gesetzt :-(
Lösung siehe #5
Danke...:wink: |
AW: VCL Style wird nicht mehr gesetzt :-(
Zitat:
![]() Zitat:
|
AW: VCL Style wird nicht mehr gesetzt :-(
Zitat:
|
AW: VCL Style wird nicht mehr gesetzt :-(
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz