AGB  ·  Datenschutz  ·  Impressum  







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

Transparenzproble, mit TPngImageList und TToolbar

Ein Thema von bwolf · begonnen am 25. Aug 2010 · letzter Beitrag vom 25. Aug 2010
Antwort Antwort
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#1

Transparenzproble, mit TPngImageList und TToolbar

  Alt 25. Aug 2010, 14:33
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!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Transparenzproble, mit TPngImageList und TToolbar

  Alt 25. Aug 2010, 14:40
Speicher mal die PNGs mit 32-Bit Farbtiefe.

Die PNG-Implemtierung die TPngImageList könnte u.U. probleme mit diversen PNG-Codierungen haben.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Transparenzproble, mit TPngImageList und TToolbar

  Alt 25. Aug 2010, 15:10
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>

Geändert von bwolf (25. Aug 2010 um 15:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#4

AW: Transparenzproble, mit TPngImageList und TToolbar

  Alt 25. Aug 2010, 15:31
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Transparenzproble, mit TPngImageList und TToolbar

  Alt 25. Aug 2010, 15:38

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?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#6

AW: Transparenzproble, mit TPngImageList und TToolbar

  Alt 25. Aug 2010, 20:24

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?
Bei Delphi 7 kann man die Komponente XPMan in das Hauptformular einfügen.

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...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 12:49 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