AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

ListView Icon Transparenz Problem

Ein Thema von KodeZwerg · begonnen am 21. Okt 2018 · letzter Beitrag vom 22. Okt 2018
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: ListView Icon Transparenz Problem

  Alt 21. Okt 2018, 19:48
Okay, ich scheine eine passende Stellschraube gefunden zu haben aber kann mir nicht vorstellen dass das korrekt ist.
ImageList.BkColor := clWhite .
@DieDolly, danke, das passt schon, für mich steht der Zeitpunkt der Erstellung und PID im Fokus, Rest ist nur damit man was sieht
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: ListView Icon Transparenz Problem

  Alt 21. Okt 2018, 21:13
@dolly, habe es nun so gemacht wie du vorgeschlagen hast (nur weil ich da noch ne sortier funktion eingebaut habe ^^)

wer mag kann das tool sich hier runterladen.
(es ist noch beta, da muss noch ne konfiguration usw rein, speichert keine spaltenmaße usw...
bei interesse werkel ich da noch ein wenig rum und stelle es in userprojects vor)
Gruß vom KodeZwerg

Geändert von KodeZwerg (22. Okt 2018 um 00:58 Uhr)
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
351 Beiträge
 
Delphi 12 Athens
 
#3

AW: ListView Icon Transparenz Problem

  Alt 21. Okt 2018, 21:15
Ein FileListView geht so: (Abriss)

Code:
var ImageList: TImageList;

...

var sfi: TShFileInfo;

ImageList:=TImageList.Create(nil);
ImageList.Handle:=SHGetFileInfo(PChar(GetWinDir), 0, sfi, sizeof(TShFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
ImageList.ShareImages:=True;
ImageList.BkColor:=clNone;
ImageList.BlendColor:=clNone;

...

ListView1.SmallImages:=ImageList;

...

var sfi: TShFileInfo;

SHGetFileInfo(PChar(FileName), 0, sfi, sizeof(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);

with ListView1.Items.Add do
begin
  Caption:=ExtractFileName(FileName);
  ...
  ImageIndex:=sfi.iIcon;
end;

...

ImageList.Free;
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: ListView Icon Transparenz Problem

  Alt 21. Okt 2018, 22:50
Ein FileListView geht so: (Abriss)
Da wird aber das gemacht was ich nicht möchte, Transparente Farbe wird Schwarz dargestellt.
Ich habe auch mit Icon.Transparent etc herumprobiert, ich bekomme es, ohne meinen Umweg den ich oben beschrieb, nicht zum laufen

So schaut der aktuelle Build aus.
Screenshot - 21_10 002.jpg
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
351 Beiträge
 
Delphi 12 Athens
 
#5

AW: ListView Icon Transparenz Problem

  Alt 21. Okt 2018, 23:45
Auch wenn du es genauso machst wie gezeigt? Der Code ist seit Jahren über mehrere Compiler im Einsatz. Immer "Transparente" Icons.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: ListView Icon Transparenz Problem

  Alt 22. Okt 2018, 01:32
Auch wenn du es genauso machst wie gezeigt? Der Code ist seit Jahren über mehrere Compiler im Einsatz. Immer "Transparente" Icons.
Ich habe soeben, nur um der Sache auf den Grund zu gehen, ein frisches Demo erstellt mit dem Ergebnis, wenn ich Deinen Code verwende, so wie Du in abgebildet hast, hab ich gar kein Icon sichtbar, das ist mir etwas zu viel transparenz.

Ich frage mich auch wozu Du eine ImageList erstellst wenn sie im Code keine Verwendung hat.
Code:
var ImageList: TImageList; // ok, wir reservieren uns einen namen

...

ImageList:=TImageList.Create(nil); // okay, nun haben wir etwas zum benutzen vorbereitet

...

ListView1.SmallImages:=ImageList; // okay, listview erhält diese Liste für SmallImages

...

with ListView1.Items.Add do
begin
  Caption:=ExtractFileName(FileName);
  ...
  ImageIndex:=sfi.iIcon; // hmmm, wozu ImageList wenn hier direkt was übergeben wird?
end;
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
351 Beiträge
 
Delphi 12 Athens
 
#7

AW: ListView Icon Transparenz Problem

  Alt 22. Okt 2018, 08:56
Code:
var ImageList: TImageList; //Variable

...

var sfi: TShFileInfo;

ImageList:=TImageList.Create(nil); //erstellen,...
ImageList.Handle:=SHGetFileInfo(PChar(GetWinDir), 0, sfi, sizeof(TShFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON); //Handle zuweisen,...
ImageList.ShareImages:=True; //System-Icons nur nutzen, am Ende aber nicht freigeben,...
ImageList.BkColor:=clNone;
ImageList.BlendColor:=clNone;

...

ListView1.SmallImages:=ImageList; //ListView sagen diese ImageList zu benutzen

...

var sfi: TShFileInfo;

SHGetFileInfo(PChar(FileName), 0, sfi, sizeof(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON); //IconIndex holen

with ListView1.Items.Add do
begin
  Caption:=ExtractFileName(FileName);
  ...
  ImageIndex:=sfi.iIcon; //IconIndex zuweisen (sfi.iIcon ist Index kein Handle), du sagst ihm, das er Icon Nummer x aus seinen SmallImages also der SystemImageList (ImageList) dem Item zuweisen soll
end;

...

ImageList.Free; //freigeben (aber nur Objektinstanz, Icons nicht)

Geändert von tomkupitz (22. Okt 2018 um 08:59 Uhr)
  Mit Zitat antworten Zitat
tomkupitz

Registriert seit: 26. Jan 2011
351 Beiträge
 
Delphi 12 Athens
 
#8

AW: ListView Icon Transparenz Problem

  Alt 22. Okt 2018, 09:22
Und Beispiel... http://www.screensoft.de/unit1.zip
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:21 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