AGB  ·  Datenschutz  ·  Impressum  







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

ListView Icon Transparenz Problem

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

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

ListView Icon Transparenz Problem

  Alt 21. Okt 2018, 20:03
Hallo, ich werde irgendwie alleine nicht fündig,
ich habe eine Listview und hole/fülle mir so die Icons:
Delphi-Quellcode:
var
  FileInfo: SHFILEINFOW;
  Icon: TIcon;
  Files: TStringList;

...

   with Processes.Items.Add() do
    begin
      SHGetFileInfoW(PWideChar(Files[i]), 0, FileInfo, SizeOf(FileInfo), SHGFI_ICON or SHGFI_SMALLICON);
      Icon.Handle := FileInfo.hIcon;
      ImageIndex := FileIcons.AddIcon(Icon);
      DestroyIcon(FileInfo.hIcon);
    end;
das funktioniert prinzipiell schon mal so wie gedacht.
Aber viele Icons zeigen Schwarz an obwohl dort eigentlich transparenz herrschen sollte.
Kann man das irgendwie beheben?
screenshot-21_10.jpg

Hier die DFM Daten:
Code:
    object Processes: TListView
      AlignWithMargins = True
      Left = 3
      Top = 3
      Width = 466
      Height = 195
      Align = alClient
      Columns = <
        item
          AutoSize = True
          Caption = 'Filename'
        end
        item
          Caption = 'PID'
          MaxWidth = 70
          MinWidth = 50
        end
        item
          Caption = 'Started'
          MaxWidth = 130
          MinWidth = 130
          Width = 130
        end>
      ReadOnly = True
      RowSelect = True
      SmallImages = FileIcons
      TabOrder = 0
      ViewStyle = vsReport
    end
  end
  object FileIcons: TImageList
    DrawingStyle = dsTransparent
    ImageType = itMask
    Left = 24
    Top = 48
  end
/edit
Post überarbeitet und auf eine Frage beschränkt.

Hier noch mal die Frage:
Wie kann ich Icons in ListView darstellen so das die schwarze Farbe Transparent ist?
Gruß vom KodeZwerg

Geändert von KodeZwerg (21. Okt 2018 um 20:26 Uhr) Grund: Thema spezialisiert
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: ListView mit Icons die Transparent sind darstellen und Scrollbalken entfernen

  Alt 21. Okt 2018, 20:14
Bitte erstell für jedes Problem einen separaten Thread.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#3

AW: ListView mit Icons die Transparent sind darstellen und Scrollbalken entfernen

  Alt 21. Okt 2018, 20:26
So solltest du fündig werden:
Bei Google suchenshgetfileinfo icon transparent
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: ListView mit Icons die Transparent sind darstellen und Scrollbalken entfernen

  Alt 21. Okt 2018, 20:27
Bitte erstell für jedes Problem einen separaten Thread.
Habs geändert & werds mir merken. Danke fürs Lesen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#5

AW: ListView Icon Transparenz Problem

  Alt 21. Okt 2018, 20:40
Wenn gestattet dann ein eventueller Verbesserungsvorschlag?

Neue Spalten:
Process name, PID, Path, Started

Dein Tool ist ein Tool zum Auflisten von Prozessen und die Hauptinformation die ein Nutzer sucht ist der Prozessname.
Der Pfad ist nur weitere Information.
  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 21. Okt 2018, 20: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
 
#7

AW: ListView Icon Transparenz Problem

  Alt 21. Okt 2018, 22: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 01:58 Uhr)
  Mit Zitat antworten Zitat
tomkupitz

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

AW: ListView Icon Transparenz Problem

  Alt 21. Okt 2018, 22: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
 
#9

AW: ListView Icon Transparenz Problem

  Alt 21. Okt 2018, 23: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
341 Beiträge
 
Delphi 12 Athens
 
#10

AW: ListView Icon Transparenz Problem

  Alt 22. Okt 2018, 00: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
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 02:39 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