如题所示。
我用ImageList设置的图标一直都不满意,
请问如何实现图标为系统关联(默认)文件的图标?
我用ImageList设置的图标一直都不满意,
请问如何实现图标为系统关联(默认)文件的图标?
解决方案 »
- 一个读文本文件的程序,不知哪里有问题,总是循环,帮忙看一下
- 请各位兄弟,版主,大家帮帮忙,谢谢了,有关操作FTP的API的问题。
- vb中有哪些常用日期控件 请告知在部件列表中的全名
- 请教MSHFlexGrid控件recordset的问题。
- 我是新手,请帮帮忙!!
- datagrid“不能初始化数据绑定”的问题。急呀!
- vb把文件映射到内存后 如何实现按行读取
- vb6.0读取xml或者XMLSchema的方法
- 一个鼠标hook的问题
- 俺想用N个BMP文件,作为一个FORM的背景,如:100个10*10的BMP作为一个1000*1000的FORM的背景。请指教!!!
- 如何获得数据库中已经存在的表名称,字段名称等信息?
- 如何知道字段的长度?
Good Luck~
唉~~~最近一段时间老是Copy程序了~~~说句实话,这些东西MSDN里都有啊,建议大家自己先多琢磨琢磨,这样长进也快啊,否则,有问题就只能问别人啦~~~Public Enum SH_ICON_SIZE_ENUM
SHGFI_LARGEICON = &H0
SHGFI_SMALLICON = &H1
End EnumPrivate Type SHFILEINFO
hIcon As Long
iIcon As Long
dwAttributes As Long
szDisplayName As String * MAX_PATH
szTypeName As String * 80
End Type
Private Type TypeIcon
cbSize As Long
picType As PictureTypeConstants
hIcon As Long
End Type
Private Type CLSID
id(16) As Byte
End TypeConst SHGFI_ICON = &H100
Const SHGFI_TYPENAME = &H400Private Declare Function OleCreatePictureIndirect Lib "oleaut32.dll" (pDicDesc As TypeIcon, riid As CLSID, ByVal fown As Long, lpUnk As Object) 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
Private Function IconToPicture(hIcon As Long) As IPictureDisp
Dim cls_id As CLSID
Dim hRes As Long
Dim new_icon As TypeIcon
Dim lpUnk As IUnknown
With new_icon
.cbSize = Len(new_icon)
.picType = vbPicTypeIcon
.hIcon = hIcon
End With
With cls_id
.id(8) = &HC0
.id(15) = &H46
End With
hRes = OleCreatePictureIndirect(new_icon, cls_id, 1, lpUnk)
If hRes = 0 Then Set IconToPicture = lpUnk
End Function
Public Function GetFileIcon(ByVal filename As String, ByVal icon_size As SH_ICON_SIZE_ENUM, Optional ByRef dwAttributes As Long, Optional ByRef iIcon As Long) As IPictureDisp
Dim icon_pic As IPictureDisp
Dim hIcon As Long
Dim sh_info As SHFILEINFO
SHGetFileInfo filename, 0, sh_info, Len(sh_info), SHGFI_ICON + icon_size
hIcon = sh_info.hIcon
iIcon = sh_info.iIcon
dwAttributes = sh_info.dwAttributes
Set icon_pic = IconToPicture(hIcon)
Set GetFileIcon = icon_pic
End Function
Public Function GetFileType(filename As String) As String
Dim sh_info As SHFILEINFO
SHGetFileInfo filename, 0, sh_info, Len(sh_info), SHGFI_TYPENAME
GetFileType = sh_info.szTypeName
End Function