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
ImageList_Draw рисует изображение, взятое из системного списка изображений, на заданном контексте устройства
В успешном случае возвращается ненулевое значение, в случае ошибки возвращается 0.
ILD_BLEND25 = &H2 | Рисует изображение, затемненное на 25 процентов системный цветом, используемым при выделении. Данное значение не имеет эффекта, если системный лист не содержит маску |
ILD_BLEND50 = &H4 | Рисует изображение, затемненное на 50 процентов системный цветом, используемым при выделении. Данное значение не имеет эффекта, если системный лист не содержит маску |
ILD_MASK | Рисует маску |
ILD_NORMAL | Рисует изображение, используя фон системного листа изображений. Если цвет фона равен CLR_NONE, то изображение рисуется прозрачным, используя маску |
ILD_TRANSPARENT = &H1 | Рисует изображение прозрачным, независимо от цвета фона. Данное значение не имеет эффекта, если системный лист не содержит маску |
' Выводим значок bat-файла Dim hImage As Long, udtFI As SHFILEINFO Me.AutoRedraw = True ' Получаем дескриптор системного листа изображений hImage = SHGetFileInfo("c:\autoexec.bat", ByVal 0&, udtFI, Len(udtFI), SHGFI_SYSICONINDEX Or SHGFI_LARGEICON) ' Рисуем значок в нормальном виде ImageList_Draw hImage, udtFI.iIcon, Me.hDC, 0, 0, ILD_TRANSPARENT