Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: rembolso en 25 Mayo 2009, 08:21 am



Título: como poner icono a un ListView1
Publicado por: rembolso en 25 Mayo 2009, 08:21 am
bueno tengo un problema q me volvio loco pero bien loko  :-\ trata de  ponerle el icono a un ListView1 pero cuando  utilizo ImageList1 me da el error de type mismach
y lo ise en otro  proyecto y si se le pone y en el proyecto actual no  jaajj ayudeme  :-(


Título: Re: como poner icono a un ListView1
Publicado por: xkiz ™ en 25 Mayo 2009, 15:56 pm
Tutorial del Control ListView (http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-listview.htm)


Título: Re: como poner icono a un ListView1
Publicado por: rembolso en 27 Mayo 2009, 05:25 am
si si yo segui los pasos de hay pero me de error type misma no c porq  :-\


Título: Re: como poner icono a un ListView1
Publicado por: yovaninu en 27 Mayo 2009, 07:12 am
te paso mi codigo a ver si te sirve
en un form vacio dibujas un ListView1, un Command1, un ImageList1 y un Picture1

Luego este es el code completo

Código
  1. Option Explicit
  2.  
  3. 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
  4. Private Declare Function ImageList_Draw Lib "comctl32.dll" (ByVal himl As Long, ByVal i As Long, ByVal hdcDst As Long, ByVal x As Long, ByVal y As Long, ByVal fStyle As Long) As Long
  5. Private Const SHGFI_SMALLICON = &H1          
  6. Private Const SHGFI_SYSICONINDEX = &H4000      
  7. Private Const SHGFI_TYPENAME = &H400        
  8. Private Const MAX_PATH = 260
  9.  
  10. Private Type SHFILEINFO
  11.    hIcon As Long
  12.    iIcon As Long
  13.    dwAttributes As Long
  14.    szDisplayName As String * MAX_PATH
  15.    szTypeName As String * 80
  16. End Type
  17.  
  18.  
  19.  
  20.  
  21. Private Sub ObtenerIconoLocal()
  22. Dim LI As ListItem
  23. Dim FI As SHFILEINFO
  24. Dim hImage As Long
  25. ImageList1.ListImages.Clear
  26.  
  27. Dim IconoImageLIST As Byte
  28. IconoImageLIST = 1
  29.  
  30. For Each LI In ListView1.ListItems
  31.    Open "x" & LI.Text For Binary Access Read As #5
  32.    Close #5
  33.  
  34.    Picture1.Cls
  35.    Picture1.Width = 240: Picture1.Height = 240
  36.  
  37.    hImage = SHGetFileInfo("x" & LI.Text, ByVal 0&, FI, Len(FI), SHGFI_SYSICONINDEX Or SHGFI_SMALLICON)
  38.  
  39.  
  40.  
  41.    ImageList_Draw hImage, FI.iIcon, Picture1.hDC, 0, 0, SHGFI_SMALLICON
  42.    ImageList1.ListImages.Add Key:="key" & ImageList1.ListImages.Count, Picture:=Picture1.Image
  43.  
  44.    Kill "x" & LI.Text
  45.    ListView1.View = lvwReport
  46.  
  47.    Set ListView1.SmallIcons = ImageList1
  48.    Set ListView1.Icons = ImageList1
  49.  
  50.    LI.SmallIcon = IconoImageLIST
  51.    LI.Icon = IconoImageLIST
  52.  
  53.  
  54.  
  55.  
  56.   IconoImageLIST = IconoImageLIST + 1
  57.  
  58. Next LI
  59.  
  60.  
  61.  
  62.  
  63. End Sub
  64.  
  65.  
  66.  
  67. Private Function FileTipo(Ruta As String) As String
  68. Dim FI As SHFILEINFO
  69. SHGetFileInfo Ruta, 0, FI, Len(FI), &H10 Or &H400
  70. FileTipo = FI.szTypeName
  71. End Function
  72.  
  73.  
  74.  
  75. Private Sub Command1_Click()
  76. 'ALGUNOS EJEMPLOS
  77. With ListView1.ListItems.Add(, , "programa.exe")
  78.       .SubItems(1) = "kb"
  79. End With
  80.  
  81. With ListView1.ListItems.Add(, , "musica.mp3")
  82.       .SubItems(1) = "kb"
  83. End With
  84.  
  85. With ListView1.ListItems.Add(, , "pelic.mpeg")
  86.       .SubItems(1) = "kb"
  87. End With
  88.  
  89.  
  90. With ListView1.ListItems.Add(, , "Lyb.dll")
  91.       .SubItems(1) = "kb"
  92. End With
  93.  
  94. With ListView1.ListItems.Add(, , "tuto.pdf")
  95.       .SubItems(1) = "kb"
  96. End With
  97.  
  98. ObtenerIconoLocal
  99.  
  100. End Sub
  101.  
  102.  
  103.  


Título: Re: como poner icono a un ListView1
Publicado por: rembolso en 27 Mayo 2009, 19:55 pm
ok haora estoy analizando el codigo