Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Darstellungsproblem von PNG's in Toolbar (https://www.delphipraxis.net/156961-darstellungsproblem-von-pngs-toolbar.html)

Metallicwar 22. Dez 2010 09:09

Darstellungsproblem von PNG's in Toolbar
 
Liste der Anhänge anzeigen (Anzahl: 4)
Hallo zusammen,
folgendes Problem:
Wir haben ein Problem bei der Darstellung von PNG's in Toolbars ab Windows Vista (Windows 7). (Screens im Anhang)
Verwendet wird eine einfache Toolbar und verwendet die PNG's einer PNG Image List.
Die ShowCaption der Toolbar wird auf True gesetzt.
Führt man das Programm aus, werden die PNG's mit einem leichten weißem Rand angezeigt (ist aber akzeptabel) (Screen: XP.jpg)
Führt man die Anwendung unter Windows 7 an, werden die PNG mit einem rechteckigen weißen Rand dargestellt. (Screen: Windows 7.png)

Habe ein bisschen mit den Einstellungen gespielt und herausgefunden, dass das Problem aufgrund der Eigenschaft ShowCaption entsteht.
Setzt man die Eigenschaft ShowCaption der Toolbar auf False und führt dann das Programm unter Windows 7 aus, werden die Captions wie auch bei XP nur mit einem leichtem weißen Hintergrund dargestellt.

Im nächsten Schritt habe ich dann mal zur Laufzeit durch einen ButtonClick die ShowCaption Eigenschaft wieder auf True gesetzt und siehe da, die PNG's werden weiterhin nur mit dem leichten weißen Rand angezeigt.
Möchte ich das ganze nun im FormShow oder OnCreate Ereignis umsetzten, werden die PNG's wieder mit großem weißen Rand angezeigt..... Wieso funktioniert es bei einem ButtonClick und nicht im OnCreate oder OnShow Ereignis?!?!?!?

Im Anhang sind noch zwei Programme.

1. False True FormShow.exe: - Eigenschaft ShowCaption im Objektinspektor = False
- im OnCreate Ereignis wird die ShowCaption auf True gesetzt.

2. False True Button.exe: - Eigenschaft ShowCaption im Objektinspektor = False
- im ButtonClick Ereignis wird die ShowCaption auf True gesetzt.



Möchte das gerne auch im OnShow oder OnCreate lösen, dass die PNG's auch nur mit dem leichten weißen Rand angezeigt werden.


mfg David

himitsu 22. Dez 2010 09:24

AW: Darstellungsproblem von PNG's in Toolbar
 
De Toolbar wird auch keine PNGs darstellen können.
http://www.delphipraxis.net/156286-t...ml#post1064251

Nimm doch einfach normale Icons und erspare dir solche unvorhersehbaren Konvertierungen.

Metallicwar 22. Dez 2010 09:29

AW: Darstellungsproblem von PNG's in Toolbar
 
Es stellt doch meine PNG dar, siehst du doch in meinen Dateianhängen, eben mit einem leichtem weißen Rand, aber der stört ja nicht, nur dieser dicke weiße Rand, der gefällt mir garnicht. Durch ein ButtonClick ist das Problem ja zu lösen, dann muss es doch auch irgendwie über ein OnShow oder OnCreate Ereignis zu lösen sein?
Zitat:

Zitat von himitsu (Beitrag 1069918)
Nimm doch einfach normale Icons und erspare dir solche unvorhersehbaren Konvertierungen.

Die gesamte Software enthält PNG's, von daher, wäre es ein rießiger Zeitaufwand, alle PNG's erst in Icons zu konvertieren, ...
Wir möchten bei PNG's bleiben!!!

Metallicwar 22. Dez 2010 09:48

AW: Darstellungsproblem von PNG's in Toolbar
 
Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin
  Toolbar1.ShowCaptions := False;
  Application.ProcessMessages;
  Toolbar1.ShowCaptions := True;
end;
So funktioniert es.

Zitat:

De Toolbar wird auch keine PNGs darstellen können.
Wieso werden dann meine PNG's angezeigt? :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:45 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