Функция PickIconDlg

Declare Function PickIconDlg Lib "shell32" ( _
        ByVal hwnd As Long, _
        ByRef pszIconPath As String, _
        ByVal cchIconPath As Long, _
        ByRef piIconIndex As Long _
    ) As Long

Функция PickIconDlg вызывает диалоговое окно "Смена значка", позволяющее выбрать значок из модуля. Раньше эта функция официально не была задокументирована и находилась под номером #62
Declare Function PickIconDlg Lib "shell32" Alias "#62" ( _
        ByVal hwndOwner As Long,  _
        ByVal szFilename As String,  _
        ByVal Reserved As Long,  _
        lpIconIndex As Long _
    ) As Long

Возвращаемое значение

В успешном случае возвращается 1, в случае ошибки возвращается 0

Параметры

hwnd
Дескриптор родительского окна, которое открывает диалоговое окно "Смена значка"
pszIconPath
Полный путь файла с значками (должен существовать). Если в указанном файле нет иконок, вызываются иконки Shell32.dll
cchIconPath
Буфер для имени файла, если имя максимальной длины, то можно передавать 0, если нет - максимальный размер
piIconIndex
Номер значка в файле, после выполнения функция возвращает номер выбранного пользователем значка

Пример

 Dim iconIndex As Long
 iconIndex = 3
 Call PickIconDlg(Me.hwnd, vbNullString, 0, iconIndex)
 Print iconIndex

Категория

Оболочка