[Delphi] Listview ikonu?

[Delphi] Listview ikonu?
0

Jak można to zrobić?
Wypełniam Listview, otwierając archiwum ZIP i chciałbym żeby obok opisu pliku pokazała się ikona, która jest skojarzona z tym plikiem w WIN'owsie. Np. dla plików '*.doc' jest to ikona z Worda (jeśli on jest).
Coś takiego jest zrobione w WINZIP'ie, JAK?
Z góry dziękuję za propozycje.

KE
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 21 lat
0

na forme dodaj komponent TImageList skojarz go z TListView. Pozniej do TImageList dodaj ikony , ktore maja przedstawiac dany plik i przy dodawaniu Itema do TListView, we wlasnosciach ImageIndex, SelectedIndex, i jeszcze jakis (teraz nie pamietam) ustaw numer ikonki reprezentujacej item, a pozniej...

ciesz sie widokiem [hurra]

[cya]

--
kerim,
Kto pyta - błądzi inaczej...


kerim,
Kto pyta - b
W0
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 14 lat
  • Postów:384
0
0

shGetFileInfo obsługuje tylko pliki 8.3, jak to ominąć?
Nie chcę podpinać do ListView komponentu ImageList, chcę 'dostać' ikony takie jak są wyśwetlane w WIN'owsie i wyświetlić je w ListView.

AB
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 10 lat
0

Kiedyś już ten problem miałem oto funkcja :

<font color="blue">function indeks_ikony(FileName:string; var FileType: string ):integer;
var
Ext : string;
SFI : TSHFileInfo;
begin
Ext := FileName;
ShGetFileInfo(PChar(Ext),
0,
SFI,
SizeOf(SFI),
SHGFI_SMALLICON or SHGFI_SYSICONINDEX or SHGFI_TYPENAME);
FileType := String(SFI.szTypeName);
Result := SFI.iIcon;
end;</span>
Poniewż to dawno było mam nadzieje że jeszcze jakaś funkcja do tego nie jest potrzebna .

Powodzenia !!! [browar]

Vogel
  • Rejestracja:prawie 23 lata
  • Ostatnio:prawie 7 lat
0

Nie do końca. Masz index w systemowym ImageList, ale nie masz systemowego ImageList. Aby go uzyskać tworzysz nowy ImageList. Za pomocą SHGetFileInfo otrzymujesz uchwyt (w Helpie są odpowiednie parametry). Teraz tylko zmieniasz właściwość TImageList (nie pamiętam którą), aby nie usuwał ikonek (bo po zamnknięciu programu znikną wszystkie ikony).

--
Vogel [Delphi 6 PE]

Life is just a dream, you know...
[Cowboy Bebop]


Life is just a dream, you know...
[Cowboy Bebop]

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.