![]() |
TComboboxEx - Icons sind schwarz
Liste der Anhänge anzeigen (Anzahl: 1)
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ß |
AW: TComboboxEx - Icons sind schwarz
Möglichweise liegt es an den Einstellungen zur Transparenz.
|
AW: TComboboxEx - Icons sind schwarz
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? |
AW: TComboboxEx - Icons sind schwarz
Sind evtl. PNGs in der ImageList aber die Komponente wurde nicht für PNG's angepasst?
|
AW: TComboboxEx - Icons sind schwarz
nein, alles BMPs - und die Bildfläche ist voll ausgefüllt
|
AW: TComboboxEx - Icons sind schwarz
Wieviele Farben (BitsProPixel) haben die Bitmaps?
Irgendwo DoubleBuffered aktiv? |
AW: TComboboxEx - Icons sind schwarz
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.
|
AW: TComboboxEx - Icons sind schwarz
@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 |
AW: TComboboxEx - Icons sind schwarz
Zitat:
|
AW: TComboboxEx - Icons sind schwarz
Mit dem Unterschied/Vorbehalt, daß es bei mir um Icons ging:
Delphi-Quellcode:
HTH
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 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