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.
[Delphi] Listview ikonu?
- Rejestracja: dni
- Ostatnio: dni
- Rejestracja: dni
- Ostatnio: dni
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...
- Rejestracja: dni
- Ostatnio: dni
- Postów: 384
http://www.4programmers.net/view_faq.php?id=110
http://www.4programmers.net/view.php?id=36
--
"I think I'm Dumb, maybe just happy"
- Rejestracja: dni
- Ostatnio: dni
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.
- Rejestracja: dni
- Ostatnio: dni
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]
- Rejestracja: dni
- Ostatnio: dni
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]