AGB  ·  Datenschutz  ·  Impressum  







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

TComboboxEx - Icons sind schwarz

Ein Thema von FXL · begonnen am 27. Jul 2012 · letzter Beitrag vom 30. Jul 2012
Antwort Antwort
Seite 1 von 2  1 2      
FXL

Registriert seit: 8. Aug 2011
19 Beiträge
 
Delphi XE2 Professional
 
#1

TComboboxEx - Icons sind schwarz

  Alt 27. Jul 2012, 15:15
Hi Leute,

vielleicht ist es ja momentan einfach zu warm zum programmieren, aber ich seh den Fehler nicht. Gibt es einen Grund warum meine Icons in der Liste schwarze sind?

Pfad und Name der Bilder stimmen!

Zuweisen tue ich mittels: TCombobox.Images := TImageList



Gruß
Miniaturansicht angehängter Grafiken
tcomboboxex.png  
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TComboboxEx - Icons sind schwarz

  Alt 27. Jul 2012, 15:17
Möglichweise liegt es an den Einstellungen zur Transparenz.
Markus Kinzler
  Mit Zitat antworten Zitat
FXL

Registriert seit: 8. Aug 2011
19 Beiträge
 
Delphi XE2 Professional
 
#3

AW: TComboboxEx - Icons sind schwarz

  Alt 27. Jul 2012, 15:28
bei was bzw. was könnte falsch sein?

meinst du, dass evtl. das obere linke Pixel als transparent Farberkennung genommen wird und dies bei einer Deutschlandflagge ja schwarz ist?

Wenn es so wäre, dann müsste aber die englische Flagge weiß, rot oder blau sein?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

AW: TComboboxEx - Icons sind schwarz

  Alt 27. Jul 2012, 15:30
Sind evtl. PNGs in der ImageList aber die Komponente wurde nicht für PNG's angepasst?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
FXL

Registriert seit: 8. Aug 2011
19 Beiträge
 
Delphi XE2 Professional
 
#5

AW: TComboboxEx - Icons sind schwarz

  Alt 27. Jul 2012, 15:44
nein, alles BMPs - und die Bildfläche ist voll ausgefüllt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: TComboboxEx - Icons sind schwarz

  Alt 27. Jul 2012, 17:04
Wieviele Farben (BitsProPixel) haben die Bitmaps?

Irgendwo DoubleBuffered aktiv?
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: TComboboxEx - Icons sind schwarz

  Alt 27. Jul 2012, 17:12
Das erinnert mich sehr stark an meine Frage von vor zwei Wochen. Es liegt an der Art und Weise, wie die Grafiken der ImageList zugewiesen werden. Ich bin dann den Weg über eine Zwischen-Bitmap (oder TImage) gegangen, dann hat es gepasst.
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
FXL

Registriert seit: 8. Aug 2011
19 Beiträge
 
Delphi XE2 Professional
 
#8

AW: TComboboxEx - Icons sind schwarz

  Alt 27. Jul 2012, 23:13
@himitsu

zu Punkt 1. - K.A. bin nicht mehr auf Arbeit und kanns nicht mittel Photshop kontrolieren

zu Punkt 2. - Ja, ist an


@ConnorMcLeod

Geladen wird über TBitmap.loadFromFile(....)

und die Bitmaps werden in einer TImageList.add(tBitmap) gesetzt und der Combobx zugewiesen TCombobox.Images := TImageList

kannst du mir evtl. mal ein Codeauszug von deiner Lösung mitteilen


Gruß und Danke für die Unterstützung
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

AW: TComboboxEx - Icons sind schwarz

  Alt 28. Jul 2012, 00:10
zu Punkt 2. - Ja, ist an
Das mein ich ja ... schalte es mal aus
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: TComboboxEx - Icons sind schwarz

  Alt 28. Jul 2012, 06:02
Mit dem Unterschied/Vorbehalt, daß es bei mir um Icons ging:

Delphi-Quellcode:
procedure AddIconToImageList(
        const AFileName : string
      ; var AAddToImageList : TImageList
      );
var
  licnIcon : TIcon;
  lsfiFileInfo: SHFILEINFO;
  limgInter : TImage;
  lsExePath : string;
begin
  // Create a temporary TIcon
  licnIcon := TIcon.Create;
  limgInter := TImage.Create(nil);
  try
    //Get The Icon That Represents The File
    FillChar(lsfiFileInfo, SizeOf(lsfiFileInfo), 0);
    SHGetFileInfo(PChar(AFileName + #0), 0, lsfiFileInfo, SizeOf(lsfiFileInfo), SHGFI_ICON {or SHGFI_LARGEICON});
    licnIcon.Transparent := True;
    licnIcon.Handle := lsfiFileInfo.hIcon;

    // add the icon to the imagelist:
    if Assigned(AAddToImageList) then
    begin
      limgInter.Width := licnIcon.Width;
      limgInter.Height := licnIcon.Height;
      limgInter.Picture.Bitmap.Width := licnIcon.Width;
      limgInter.Picture.Bitmap.Height := licnIcon.Height;
      limgInter.Canvas.FillRect(Rect(0, 0, limgInter.Picture.Bitmap.Width, limgInter.Picture.Bitmap.Height));
      limgInter.Transparent := True;
      limgInter.Picture.Bitmap.TransparentColor := clWhite;

      if DrawIcon(limgInter.Canvas.Handle, 0, 0, licnIcon.Handle) then
      begin
        //
      end
      else
      begin
        licnIcon.ReleaseHandle;
        licnIcon.Handle := GetIconHandleOfExtension(ExtractFileExt(AFileName), lsExePath);
        DrawIcon(limgInter.Canvas.Handle, 0, 0, licnIcon.Handle);
      end;

      AAddToImageList.AddMasked(limgInter.Picture.Bitmap, limgInter.Picture.Bitmap.TransparentColor);
    end;

    DestroyIcon(lsfiFileInfo.hIcon);
  finally
    FreeAndNil(licnIcon);
    FreeAndNil(limgInter);
  end;
end;
HTH
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:51 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