Avatar billede prodoc Nybegynder
07. februar 2005 - 20:12 Der er 9 kommentarer og
1 løsning

Speciel angivet ikon til bestemt filtype i TListView

Jeg sidder lige og er ved at lave et program som også har noget med det sidste spm at gøre... men synes godt nok der kommer nogle mærkelige små problemer op.....

Jeg sidder lige med en ListView og ville gerne at der for specielle filtyper var specielle ikoner fx.
wav.ico
doc.ico
mp3.ico

Er det muligt?

----
Er det forresten også muligt at fjerne scrollbaren i TListView og så lave en button der hedder Scroll Up og en button der hører til Scroll Down...
Avatar billede doc404 Novice
07. februar 2005 - 21:52 #1
Er det de ikoner Windows benytter i Exploren du er interesseret i?
Avatar billede prodoc Nybegynder
08. februar 2005 - 15:18 #2
Nej det var lige så meget fordi jeg godt kunne tænke mig at der var sådan at den viste nogle andre ikoner end de som computeren var sat til, fx at ikonet for en wav fil blev bestemt i koden til fx. ikon.ico...

Kort fortalt: TListView'en viser specielle ikoner (uafhængig af computeren og explorer)
Avatar billede doc404 Novice
08. februar 2005 - 17:53 #3
Jamen du bestemmer jo fuldstændig selv hvilke ikoner der skal vises?

Tilføj ikonerne til en ImageList og sæt Item.ImageIndex...
Avatar billede prodoc Nybegynder
09. februar 2005 - 00:23 #4
Det har jeg gjort, men synes ikke helt jeg kan finde noget hvor man kan sætte det bestemte ikon i ImageListen til alle filer med fx. *.wav???

Her er noget lignende men alligevel ikke: http://eksperten.dk/spm/228120..??
Avatar billede doc404 Novice
09. februar 2005 - 01:49 #5
Jeg går ud fra vi taler om en TListView? Den ved intet om filer eller filtyper.

Når du tilføjer en fil til din ListView skal du selv finde ud af hvilket icon index der skal bruges - f.eks. med ExtractFileExt()

Eksempel...

Du har en form med en TEdit, en TListView, en TImageList og en TButton.

I din ImageList har du tilføjet ikoner for PDF,DOC og BMP filer.

Så kan du lave noget lignende dette:


procedure TForm1.Button1Click(Sender: TObject);
const
  cExts : array[0..2] of string = ('.pdf','.doc','.bmp');
var
  Ext : string;
  idx : integer;
  Item : TListItem;
begin
  Ext := ExtractFileExt(Edit1.Text);
  idx := AnsiIndexText(Ext,cExts);
  Item := ListView1.Items.Add;
  Item.Caption := Edit1.Text;
  if idx <> -1 then
    Item.ImageIndex := idx
  else
    Item.ImageIndex := -1;
end;
Avatar billede doc404 Novice
09. februar 2005 - 01:50 #6
Den sidste Item.ImageIndex := -1 skal erstattes af et eller andet default icon index.
Avatar billede prodoc Nybegynder
09. februar 2005 - 10:05 #7
Den siger fejl ved idx := AnsiIndexText(Ext,cExts);???
men både Ext og cEXTs er jo indikerede???
Avatar billede doc404 Novice
09. februar 2005 - 15:08 #8
Hvad er fejlmeddelelsen? Husk at inklude StrUtils
Avatar billede prodoc Nybegynder
07. marts 2005 - 15:19 #9
Hej undskyld jeg har været så længe om at svare... Er i praktik så har en del at se til....
Men jeg forstår ikke helt ListView... Hvis jeg ønsker at have et "View komponent" som ved hjælp af Button1 viser den mappe som er specificeret i Edit1 fx. C:\
I "View komponentet" viser den så mappen, hvor ikonerne er erstattet til det som jeg gerne vil have dem til at være...
Igen undskyld doc404!
Avatar billede prodoc Nybegynder
25. april 2007 - 11:28 #10
Doc404 kommer du ikke lige med et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester