» Элементы в диалоге: Общее представление и структура INI файла

K.A.V.
www.oszone.net
22.02.2010
Автор: K.A.V.
Последнее обновление: 17.05.2014

Примечание. В данном разделе описаны не все элементы, доступные для использования плагином и не все доступные действия, которые можно выполнять с конкретными элементами. Информация будет дополняться постепенно.
Примечание 2. Обратите внимание на то, что команды (сообщения Windows, начинающиеся с SendMessage) и команды-макросы, начинающиеся с ${NSD_, описанные на страничках элементов, могут быть использованы не только при работе в IOEx, но и могут быть использованы при работе с плагином nsDialogs, самое главное - правильно указать HWND элемента при написании команды.


В данном разделе я буду рассказывать вам о каждом элементе отдельно:


И так, начну я пожалуй со структуры INI файла...
Мы с вами будем создавать диалог и перемещать элементы управления визуально, для этого мы будем использовать HM NIS EDIT
Для каждого элемента в INI файле создаётся секция со свойствами (настройками) элемента управления, с его координатами и размерами

Каждая секция с элементом нумеруется по порядку, от 1 до Х, к примеру, если вы создали в вашем диалоге 3 элемента, то в INI файле они будут нумероваться по порядку их создания (нумерацию элементов вы будете видеть в HM NIS EDIT)

В самом же INI файле секции с настройками элемента будут выглядеть примерно так:
[Field 1]
Type=Тип Элемента
; Параметры элемента

[Field 2]
Type=Тип Элемента
; Параметры элемента

[Field 3]
Type=Тип Элемента
; Параметры элемента

В каждой секции будет описан и тип элемента (параметр Type), который вы сможете сменить "на лету" через тот же HM NIS EDIT, переключившись между режимом дизайна и редактирования INI файла нажатием F12
В разделе описания элементов я буду описывать возможные параметры, которые вы сможете прописывать в секцию с настройкой элемента


Важно. Подводные камни

Дело в том, что HM NIS EDIT очень давно не обновлялся, а у нового плагина InstallOptionsEx заметно увеличилось количество доступных элементов при создании страничек, поэтому при создании некоторых элементов нам необходимо будет вручную изменять значения параметров в секциях элементов, чтобы плагин правильно понимал, какой тип элемента мы создали. Для этого нам необходимо будет изменить значение параметра Type, о том, какое значение необходимо выставить данному параметру в зависимости от типа элемента, будет сказано на страничке описания конкретного элемента.


Состояние элементов

У всех элементов есть один общий параметр в секции с элементом, который отвечает за состояние или значение элемента, имя параметра State

Например, мы создали первый элемента типа "Text: Текстовое поле", чтобы прочитать значение данного поля, что ввёл туда пользователь, нам необходимо выполнить следующую команду:
ReadINIStr $1 "$PLUGINSDIR\Project.ini" "Field 1" "State"
Обратите внимание на выделенное красным цветом, цифры в нашем случае - порядковый номер элемента, мы создали его первым
Если у вас много элементов, то определить какой порядковый номер у какого-либо элемента не сложно, достаточно открыть INI файл настроек диалога в HM NIS EDIT и в области справа будет вся информаци об элементе

Результат в $1 после выполнения команды - содержимое текстового поля

Таким же образом, например, можно определить статус чекбокса или радиокнопки, выполнив точно такую же команду, изменя номер элемента, чтобы обратиться именно к чекбоксу
Результат в $1 после выполнения команды - 0 если чекбокс не отмечен и 1 если отмечен