Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

File List Box

[es] :: Pascal / Delphi / Kylix :: File List Box

[ Pregleda: 3366 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

markoub
Marko Milosevic
Ub

Član broj: 5369
Poruke: 87
*.ptt.yu

ICQ: 137081567
Sajt: markoub.myboard.info


Profil

icon File List Box08.02.2003. u 14:40 - pre 258 meseci
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
Bolje zivjeti sto godina u bogatstvu, nego dvije u siromastvu!
 
Odgovor na temu

Zmaj
Predrag Krstić
web developer
Zrenjanin

Član broj: 1035
Poruke: 382

Sajt: https://pkrstic.wordpress..


+4 Profil

icon Re: File List Box10.02.2003. u 05:33 - pre 257 meseci
Koji delphi imas?
 
Odgovor na temu

goky2002

Član broj: 3848
Poruke: 191
*.ptt.yu



Profil

icon Re: File List Box10.02.2003. u 10:05 - pre 257 meseci
Postavi ShowGlyphs na true
 
Odgovor na temu

markoub
Marko Milosevic
Ub

Član broj: 5369
Poruke: 87
*.ptt.yu

ICQ: 137081567
Sajt: markoub.myboard.info


Profil

icon Re: File List Box10.02.2003. u 13:43 - pre 257 meseci
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?
Bolje zivjeti sto godina u bogatstvu, nego dvije u siromastvu!
 
Odgovor na temu

Zmaj
Predrag Krstić
web developer
Zrenjanin

Član broj: 1035
Poruke: 382

Sajt: https://pkrstic.wordpress..


+4 Profil

icon Re: File List Box11.02.2003. u 03:27 - pre 257 meseci
Probaj sa ShellListView ili tako nesto nalazi se na samples strani. Imas tamo jos toga. Naravno podrazumeva se da su komponente instalirane.
 
Odgovor na temu

Ilija Studen
Novi Sad

Član broj: 3864
Poruke: 859
*.nspoint.net

Sajt: www.activecollab.com


+1 Profil

icon Re: File List Box18.02.2003. u 02:06 - pre 257 meseci
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...
http://www.activecollab.com - Alat za upravljanje projektima
 
Odgovor na temu

Ilija Studen
Novi Sad

Član broj: 3864
Poruke: 859
*.nspoint.net

Sajt: www.activecollab.com


+1 Profil

icon Re: File List Box18.02.2003. u 02:29 - pre 257 meseci
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 ).
http://www.activecollab.com - Alat za upravljanje projektima
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: File List Box

[ Pregleda: 3366 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.