![]() |
Transparenzproble, mit TPngImageList und TToolbar
Hi Leute,
habe ein sehr seltsames Problem. Wir haben eine Anwendung (bestehende) die eine TPngImageList, eine TToolBar und TButtons verwendet. Problem ist, das die Buttons zur Designzeit gut aussehen, zur Laufzeit schwarte Ränder haben. Was seltsam ist: Ich habe nun die TPngImageList, TToolBar und TButtons aus der besthenden Anwendung kopiert und in eine neue Testanwendung eingefügt. In der Testanwenndung sieht es sowohl zur Laufzeit als auch zur Designzeit gut aus. Was sehr seltsam ist: Wenn ich die Testanwendung nun als neues Projekt abspeichere und kompieliere, passt immer noch alles. Wenn ich nun von der Testanwendung alle temporären Files lösche (*.local, *.identcache, *.res, *.dcu) und dann die Anwendung neu kompiliere, sehen die Icons nun auch in der Testanwendung genau so schlecht aus wie in der bestehenden Anwendung. Kann mir vieleicht einer erklären was hier los ist? 1000 Dank! |
AW: Transparenzproble, mit TPngImageList und TToolbar
Speicher mal die PNGs mit 32-Bit Farbtiefe.
Die PNG-Implemtierung die TPngImageList könnte u.U. probleme mit diversen PNG-Codierungen haben. |
AW: Transparenzproble, mit TPngImageList und TToolbar
Hi,
danke für den Hinweiß, die PNG's sind allerdings bereits in 32 bit und funktionieren eigentlich ja auch. Ich habe grade bemerkt, das wenn ich das Projekt neu compiliere und die res file neu erzeugt wurde, diese anders aussieht als die res-file, die beim ersten kompielieren erzeugt wurde - und auch die Ursache für die falsche Darstellung der Grafiken verantwortlich ist. Allerdings verstehe ich nicht, wie aus den selben Sourcen unterschiedliche Res-Files entstehen? In der "Original" .res-File steht noch dieses XML hintendran:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="CodeGear RAD Studio" version="12.0.3420.21218" processorArchitecture="*"/> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> </dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly> |
AW: Transparenzproble, mit TPngImageList und TToolbar
Die Version der "Windows Common-Controls" sind die Ursache für dein Problem. Aktiviere in den Projekt-Optionen unter Anwendung mal die Laufzeit-Themes. Da Delphi diese in der IDE aktiv sind, funktioniert die Darstellung dort auch.
|
AW: Transparenzproble, mit TPngImageList und TToolbar
:thumb:
Vielen vielen Dank! Ich probiere hier seit Stunden rum, und mal wieder ist es so eine Kleinigkeit. Das Programm wurde ursprünglich in Delphi 7 geschrieben, gibts es die Option da auch? |
AW: Transparenzproble, mit TPngImageList und TToolbar
Zitat:
Ich weiß, das ist die Milchmädchenlösung, denn das Hinzufügen der Komponente bewirkt lediglich, daß eine Unit verwendet wird, die wiederum nur eine Resource mit einbindet, die ein entsprechendes Manifest enthält. Und es gibt einen Haufen Ansätze, daß effizienter und eleganter zu gestalten. Aber die erste Antwort war irgendwie kürzer... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:01 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