![]() |
Warum werden einige Buttons anders dargestellt?
Liste der Anhänge anzeigen (Anzahl: 1)
Gerade stehe ich vor einem Rätsel:
Im Screenshot zu sehen, dass einige Buttons bei einem geladenen VCL-Style anders dargestellt werden, als die anderen (nämlich mit einem grauen Hintergrund). Die Buttons haben im Prinzip die gleichen Einstellungen. Wenn im Zustand "Down" sehen alle gleich aus (wie der erste Schalter), wenn im Zustand "Up" sehen aber drei anders aus. Warum nur? Hier ein Auszug aus der DFM-Datei:
Delphi-Quellcode:
OK, einmal Numglyphs= 2, einmal nur eins. Aber das kann es nicht sein, da der Schalter "Ansicht" auch nur ein Glyph hat und der wird richtig angezeigt.// Wird richtig angezeigt object sbShowFolder: TSpeedButton Left = 42 Top = 1 Width = 37 Height = 26 Hint = 'Order in Dateiliste zeigen (F7)' AllowAllUp = True GroupIndex = 5657 Flat = True Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -13 Font.Name = 'Tahoma' Font.Style = [] Glyph.Data = {... // weggelassen} NumGlyphs = 2 ParentFont = False ParentShowHint = False ShowHint = True OnClick = sbShowFolderClick end // wird nicht richtig angezeigt (hat grauen Hintergrund): object sbInfos: TSpeedButton Left = 84 Top = 1 Width = 37 Height = 26 Hint = 'Details zur Datei anzeigen' AllowAllUp = True GroupIndex = 565888 Flat = True Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -13 Font.Name = 'Tahoma' Font.Style = [] Glyph.Data = {...} ParentFont = False ParentShowHint = False ShowHint = True OnClick = sbInfosClick end; Verwendete Delphi Version ist XE7 unter Windows 10. |
AW: Warum werden einige Buttons anders dargestellt?
Haben auch alle Bitmaps den gleichen Hintergrund?
|
AW: Warum werden einige Buttons anders dargestellt?
bei diesen drei Property Numglyph gleich?
|
AW: Warum werden einige Buttons anders dargestellt?
Sind die Buttons auch unterschiedlich, wenn GroupIndex=-1 ist?
|
AW: Warum werden einige Buttons anders dargestellt?
So viele Rückfragen. Wie wär's mit einem Demo-Projekt? Bei dem dann blöderweise alles funktionieren würde... - wegen der Rückfragen :wink:
MfG |
AW: Warum werden einige Buttons anders dargestellt?
Lass ihn doch mal antworten. Er ist vielleicht nicht 24h online und hat noch anderes zu tun. Das ist hier kein Chat.
|
AW: Warum werden einige Buttons anders dargestellt?
Die Bitmaps haben den gleichen Hintergrund ( dieses hübsche clFuchsia). Numglyhs sind alle korrekt gesetzt. Ja, ich werde morgen Abend mal einen Auszug machen und ein Demoprojekt hochladen ( mit der Befürchtung, dass dann alles funktioniert, wie hier schon angedeutet...).
Ohne geladenen VCL-Styles ist übrigens alles korrekt... |
AW: Warum werden einige Buttons anders dargestellt?
Wie vermutet: Demoprojekt erstellt und dann keine Probleme mehr...
Ursache habe ich aber gefunden: Die grau dargestellten Buttons hatten die Eigenschaft Transparent = false. Dazu kamen Sie erst zur Laufzeit, daher konnte man das nicht so einfach anhand der Einstellungen heraus finden. Es handelte sich letztlich um einen unerwünschten Nebeneffekt aus der Umstellung von Delphi 2007 auf Delphi XE7. In Delphi 2007 Update 1 war noch ein Problem mit den TSpeedButtons, wenn die Transparent waren, auf einem Panel lagen und das XP-Theme verwendet wurde: QC Short Description] TSpeedButton.Transparent broken [QC Description] TSpeedButton.Transparent is broken after applying Update 1. This happens when using Themes and the button is placed on a container (e.g. a TPanel) and not directly on a form." Ein WorkAround dafür hat im Code bis heute überlebt (obwohl das Problem mit D2007 Update 2 oder 3 schon behoben war), jetzt mit der Verwendung der Styles (ja erst in den neueren Delphis möglich) fiel es aber auf. Tja, Umstellung von Delphi 2007 oder noch älter auf die neueren Delphis ist halt nicht immer nur ein Unicode Thema... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 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 by Thomas Breitkreuz