タイトル | : Listview にアイコンをつけて表示する |
記事No | : 8549 |
投稿日 | : 2009/01/09(Fri) 23:47 |
投稿者 | : のぶ |
いつもお世話になっています。 今、エクスプローラを作成してみているのですが、ファイルに関連付いているアイコン をListviewに表示したいのですが、色々参考にしてみようみまねで作っているのですが エラーになってしまいます。
Dim GetExtension As String = sName2.Path Dim shinfo As New SHFILEINFO() Dim hSuccess As IntPtr = SHGetFileInfo(sName2.Path, 0, shinfo, 80, SHGFI_ICON) If hSuccess.Equals(IntPtr.Zero) = False Then appIcon = Icon.FromHandle(shinfo.hIcon) End If
Dim item1 As New ListViewItem(aaa, appIcon.ToBitmap()) >> ↑でエラーになってしまいます。
Private Declare Ansi Function SHGetFileInfo Lib "shell32.dll" (ByVal pszPath As String, ByVal dwFileAttributes As Integer, ByRef psfi As SHFILEINFO, ByVal cbFileInfo As Integer, ByVal uFlags As Integer) As Integer
Private Const SHGFI_SMALLICON As Integer = &H1 Private Const SHGFI_ICON As Integer = &H100 Private Const SHGFI_USEFILEATTRIBUTES As Integer = &H10
Private Structure SHFILEINFO Public hIcon As IntPtr Public iIcon As IntPtr Public dwAttributes As Integer Public szDisplayName As String Public szTypeName As String End Structure
ロジックがきたなくてすいませんが誰かご教授願います。
|