AGB  ·  Datenschutz  ·  Impressum  







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

Warum werden einige Buttons anders dargestellt?

Ein Thema von Harry Stahl · begonnen am 9. Aug 2015 · letzter Beitrag vom 10. Aug 2015
Antwort Antwort
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#1

Warum werden einige Buttons anders dargestellt?

  Alt 9. Aug 2015, 18:50
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:

// 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;
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.

Verwendete Delphi Version ist XE7 unter Windows 10.
Miniaturansicht angehängter Grafiken
buttons.jpg  

Geändert von Harry Stahl ( 9. Aug 2015 um 19:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Warum werden einige Buttons anders dargestellt?

  Alt 9. Aug 2015, 20:04
Haben auch alle Bitmaps den gleichen Hintergrund?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Warum werden einige Buttons anders dargestellt?

  Alt 9. Aug 2015, 20:25
bei diesen drei Property Numglyph gleich?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#4

AW: Warum werden einige Buttons anders dargestellt?

  Alt 9. Aug 2015, 21:35
Sind die Buttons auch unterschiedlich, wenn GroupIndex=-1 ist?
  Mit Zitat antworten Zitat
redox
(Gast)

n/a Beiträge
 
#5

AW: Warum werden einige Buttons anders dargestellt?

  Alt 9. Aug 2015, 22:48
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

MfG
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Warum werden einige Buttons anders dargestellt?

  Alt 9. Aug 2015, 23:00
Lass ihn doch mal antworten. Er ist vielleicht nicht 24h online und hat noch anderes zu tun. Das ist hier kein Chat.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Warum werden einige Buttons anders dargestellt?

  Alt 10. Aug 2015, 00:36
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...

Geändert von Harry Stahl (10. Aug 2015 um 00:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Warum werden einige Buttons anders dargestellt?

  Alt 10. Aug 2015, 18:18
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...

Geändert von Harry Stahl (10. Aug 2015 um 18:20 Uhr)
  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 22:39 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