/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Listview
Fra : Jan Damkjær Dahl


Dato : 02-11-03 09:19

hejsa

Jeg har en listview hvor jeg læser en række filer ind, men hvordan får jeg
lige diees filer til at optræde med deres egen ikoner.



--
Jan Damkjær Dahl
97523420



 
 
Lasse Eskildsen (02-11-2003)
Kommentar
Fra : Lasse Eskildsen


Dato : 02-11-03 11:43


"Jan Damkjær Dahl" <jdd@me.dk> skrev i en meddelelse
news:bo2els$15j4$1@news.cybercity.dk...
> hejsa
>
> Jeg har en listview hvor jeg læser en række filer ind, men hvordan får jeg
> lige diees filer til at optræde med deres egen ikoner.

Hej Jan,
Tilføj en picturebox (Picture1), en imagelist (imglstTemp) og en listview
(lvwfiler) til din form, og herefter:

'Følgende skal i et modul:

Private Const SHGFI_DISPLAYNAME = &H200
Private Const SHGFI_ICON = &H100
Private Const SHGFI_SYSICONINDEX = &H4000
Private Const SHGFI_LARGEICON = &H0
Private Const SHGFI_SMALLICON = &H1
Private Const ILD_TRANSPARENT = &H1
Public Const MAX_PATH = 260
Private Type SHFILEINFO
hIcon As Long
iIcon As Long
dwAttributes As Long
szDisplayName As String * MAX_PATH
szTypeName As String * 80
End Type
Private Declare Function ImageList_Draw Lib "comctl32.dll" (ByVal himl&,
ByVal i&, ByVal hDCDest&, ByVal x&, ByVal y&, ByVal flags&) As Long
Private Declare Function SHGetFileInfo Lib "shell32.dll" Alias
"SHGetFileInfoA" (ByVal pszPath As String, ByVal dwFileAttributes As Long,
psfi As SHFILEINFO, ByVal cbFileInfo As Long, ByVal uFlags As Long) As Long

Public Function ExtractIcon(picImage As PictureBox, sFile As String)
Dim himl As Long
Dim lpzxExeName As String
Dim lRet As Long
Dim sWinPath As String
Dim shinfo As SHFILEINFO

lpzxExeName = sFile
himl = SHGetFileInfo(lpzxExeName, 0&, shinfo, Len(shinfo),
SHGFI_SYSICONINDEX Or SHGFI_SMALLICON)
If himl <> 0 Then
picImage.AutoRedraw = True
lRet = ImageList_Draw(himl, shinfo.iIcon, picImage.hDC, 0, 0,
ILD_TRANSPARENT)
picImage.Refresh
ExtractIcon = True
End If
End Function

'...og dette hvor du tilføjer filerne til listview:

On Error GoTo errhandler
Dim i As Integer
Dim Filnavn As String
'Tilføj for-lykke her, og brug i som index
Picture1.Cls
ExtractIcon picImage:=Picture1, sFile:=Filnavn
imglstTemp.ListImages.Add Index:=i, Picture:=Picture1.Image
lvwFiler.ListItems.Add Index:=i, Text:=Filnavn, SmallIcon:=i,
Icon:=i
'Next
Exit Sub
errhandler:
Err.Clear
Resume Next

Håber det kan hjælpe!

--
Lasse



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste