[ markoub @ 08.02.2003. 14:40 ] @
Postoji li neka ugradjena komponenta za prikazivanje liste fajlova nekog direktorijuma? Nasao sam samo onu u okviru Win3.11 ali meni trebaju i ikonice, sto u 3.11 nije bilo podrzano. Hvala unapred |
[ markoub @ 08.02.2003. 14:40 ] @
[ Zmaj @ 10.02.2003. 05:33 ] @
Koji delphi imas?
[ goky2002 @ 10.02.2003. 10:05 ] @
Postavi ShowGlyphs na true
[ markoub @ 10.02.2003. 13:43 ] @
Postavio sam taj property na true ali su ilonice iz Win3.11 ruzne i nisu iste kao ove.
Sto se tice Delphi-a imam i 5.0 i 7.0, ali u sedam nemam socket kontrole iz petice (zamenjene su nekim kontrolama o kojima pojma nemam), a u sedmici znam da ima FileListBox kakav mi treba, ali ne mogu da prekompajliram peticin dokument u sedmicu. Mogu li nekako te kontrole iz petice da dodam sedmici? [ Zmaj @ 11.02.2003. 03:27 ] @
Probaj sa ShellListView ili tako nesto nalazi se na samples strani. Imas tamo jos toga. Naravno podrazumeva se da su komponente instalirane.
[ Ilija Studen @ 18.02.2003. 02:06 ] @
Hoces ikone? Evo ti procedure koja vraca HICON selektovanog fajla/direktorijuma/drajva:
function GetIconHandle(FileName: string; Modifier: TIconModifier): THandle; const aModifier:array [TIconModifier] of integer = (0, SHGFI_LINKOVERLAY, SHGFI_SELECTED, SHGFI_OPENICON, SHGFI_SHELLICONSIZE, SHGFI_SMALLICON); var sfi: TSHFileInfo; begin SHGetFileInfo(PChar(FileName), 0, sfi, SizeOf(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_ICON or aModifier[Modifier]); Result := sfi.HICON; end; TIconModifier = (imNormal, imOverlay, imSelected, imOpen, imShellSize, imSmall); Kada imas neku ikonu (Ikona: TIcon) onda teras: Ikona.Handle := GetIconHandle('c:\NekiDirekrojum'); Nadam se da ce ti posluziti. Reci veliko hvala JEDI-jevcima... [ Ilija Studen @ 18.02.2003. 02:29 ] @
Izvedi klasu iz TCustomListView i uvedi ovaj metod:
Code: procedure ChangeDir(const Dir: string); var SearchRec: TSearchRec; TempIcon: TIcon; begin if DirectoryExists(Dir) then begin if FindFirst(Maska, Attr, SearchRec) = 0 then repeat with Items.Add do begin Caption := SearchRec.Name; TempIcon := TIcon.Create; try TempIcon.Handle := GetIconHandle(Dir + '\' + SearchRec.Name, itNormal); LargeImages.AddIcons(TempIcon); finally TempIcon.Free; end; ImageIndex := Items.Count - 1 end; until FindNext(SearchRec); FindClose(SearchRec); end; end; Primetices Masku i Attr kao ulaz procedure FindFirst. Njih moras definisati (smor mi je da i to sad kucam), a kao vodilja nek ti posluzi kod koji je napisan u TFileListView. Ovde pozivas i funkciju GetIconHandle (zahteva ShellAPI). Kao ulazni parametar ide IconModifier (pogledaj definiciju i skontaces sta znaci): Code: TIconModifier = (imNormal, imOverlay, imSelected, imOpen, imShellSize, imSmall); Ovo je sama f-ja: Code: function TisCommander.GetIconHandle(FileName: string; Modifier: TIconModifier): THandle; const aModifier:array [TIconModifier] of integer = (0, SHGFI_LINKOVERLAY, SHGFI_SELECTED, SHGFI_OPENICON, SHGFI_SHELLICONSIZE, SHGFI_SMALLICON); var sfi: TSHFileInfo; begin SHGetFileInfo(PChar(FileName), 0, sfi, SizeOf(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_ICON or aModifier[Modifier]); Result := sfi.HICON; end; Napomena, ovaj kod je kucan iz glave i ne znam da li tacno radi (ovako kako je napisan nisam siguran, ali kad se malo sredi sigurno radi - provereno). Nadam se da ce ti pomoci. A ako ti je smor da pravis novu komponentu (ili volis Shell) onda jednostavno upotrebi neku od Shell komponenti (recimo Plasmatech ili Ortus Shell komponente - lepo izgledaju, savrseno rade, a besplatne su za nekomercijalne aplikacije, bez nag screenova i slicnih gluposti --> www.delphipages.com ). Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|