Код:
#Include <GUIListView.au3>
#Include <GUIImageList.au3>
#Include <WinAPIEx.au3>
Global $put = "WinAPIEx.chm"
$hForm = GUICreate('MyGUI', 280, 391)
$ListView = GUICtrlCreateListView('', 10, 10, 260, 344, BitOR($LVS_DEFAULT, $LVS_NOCOLUMNHEADER), $WS_EX_CLIENTEDGE)
_GUICtrlListView_SetExtendedListViewStyle($ListView, BitOR($LVS_EX_DOUBLEBUFFER, $LVS_EX_INFOTIP))
_GUICtrlListView_InsertColumn($ListView, 0, '', 234)
$hImageList = _GUIImageList_Create(16, 16, 6)
_GUICtrlListView_SetImageList($ListView, $hImageList, 1)
$Button = GUICtrlCreateButton('OK', 105, 361, 70, 23)
$hIcon = _WinAPI_ShellExtractAssociatedIcon($put, 1)
_GUIImageList_ReplaceIcon($hImageList, -1, $hIcon)
_GUICtrlListView_AddItem($ListView, $put)
_WinAPI_DestroyIcon($hIcon)
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case -3, $Button
ExitLoop
EndSwitch
WEnd
Этот пример кода (немного упрощённый для наглядности) взят из папки Examples библиотеки WinAPIEx.au3 (большое спасибо автору за отличную библиотеку)
В данном случае (для примера) файл "WinAPIEx.chm" отображается в окне. То есть отображается иконка которая забита в системе под его расширение
(в данном случае расширение .chm) ,но она отображается в ListView А как сделать так чтобы она отображалась в окне не в ListView а как обычная иконка
то есть функцией GUICtrlCreateIcon()
Попытался по шаманить но связка
Код:
$hIcon = _WinAPI_ShellExtractAssociatedIcon($put , 1)
GUICtrlCreateIcon($hIcon,0, 50, 50, 32, 32)
к сожелению не работает
Не подскажете как правильно сделать?