- Сообщения
- 5,379
- Репутация
- 2,724
AutoIt: 3.3.6.1
Версия: 1.1
Категория: Система, Элементы GUI
Описание: Данная библиотека содержит всего одну функцию, которая воспроизводит диалоговое окно для выбора иконки из указанного файла, аналогично API функции PickIconDlg(). В сравнении с последней, имеет следующие преимущества:
Пример:
Скриншот:
Источник: IconChooser UDF (оффициальный форум)
Автор: Yashied
Примечание:
ВАЖНО. Данная библиотека регистрирует следующие WM сообщения:
WM_COMMAND
WM_CONTEXTMENU
WM_GETMINMAXINFO
WM_NOTIFY
WM_SYSCOMMAND
Поэтому, если ваш код предусматривает использование этих сообщений, то в соответствующих функциях обработки необходимо вызвать обработчики из этой библиотеки, в противном случае, функция будет работать неправильно, например:
Func MY_WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
Local $Result = IC_WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
If $Result <> $GUI_RUNDEFMSG Then
Return $Result
EndIf
...
EndFunc
Версия: 1.1
Категория: Система, Элементы GUI
Описание: Данная библиотека содержит всего одну функцию, которая воспроизводит диалоговое окно для выбора иконки из указанного файла, аналогично API функции PickIconDlg(). В сравнении с последней, имеет следующие преимущества:
- Возможность изменять размеры отображаемых иконок.
- Возможность изменять размер диалогового окна.
- Возможность сохранять параметры окна (размеры, местоположение и т.д.) в реестре.
- Полностью настраиваемый под конкретные задачи вид окна.
- Более приятный внешний вид (особенно в Vista/7).
Пример:
Код:
#Include <IconChooser.au3>
Global $Ico[2] = [@SystemDir & '\shell32.dll', 23]
$hForm = GUICreate('MyGUI', 160, 160)
$Button = GUICtrlCreateButton('Change Icon...', 25, 130, 110, 23)
$Icon = GUICtrlCreateIcon($Ico[0], -(1 + $Ico[1]), 64, 50, 32, 32)
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
ExitLoop
Case $Button
$Data = _IconChooserDialog($Ico[0], $Ico[1], 32, -1, $hForm)
If IsArray($Data) Then
GUICtrlSetImage($Icon, $Data[0], -(1 + $Data[1]))
$Ico = $Data
EndIf
EndSwitch
WEnd
Скриншот:

Источник: IconChooser UDF (оффициальный форум)
Автор: Yashied
Примечание:
ВАЖНО. Данная библиотека регистрирует следующие WM сообщения:
WM_COMMAND
WM_CONTEXTMENU
WM_GETMINMAXINFO
WM_NOTIFY
WM_SYSCOMMAND
Поэтому, если ваш код предусматривает использование этих сообщений, то в соответствующих функциях обработки необходимо вызвать обработчики из этой библиотеки, в противном случае, функция будет работать неправильно, например:
Func MY_WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
Local $Result = IC_WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
If $Result <> $GUI_RUNDEFMSG Then
Return $Result
EndIf
...
EndFunc