» TrackBar: Ползунок

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

Т.к. данный тип элемента не поддерживается NIS Edit -  нам необходимо вручную прописать тип элемента в настройки с секцией элемента
Для этого создаём любой элемент, доступный в NIS Edit, для наглядности лучше создать элемент "ListBox", подгоните размеры элемента и читайте дальше :)
Затем переходим в режим редактирования (F12), ищем порядковый номер нашего созданного элемента и меняем значение параметра Type на TrackBar
[Field 1]
Type=TrackBar

Для создания взаимодействующего элемента:
NOTIFY=ONSELCHANGE

Данный элемент поможет вам отобразить удобный инструмент корректировки значения:



Флаги элемента

Значение параметра Flags может содержать следующие значения (возможно комбинировать, разделяя вертикальной чертой)
VSCROLL - вертикальный стиль ползунка
NO_TICKS - не показывать на ползунке пункты, вид будет такой:



Дополнительные параметры элемента

В секции с настройкой элемента могут быть использованы следующие параметры:
MaxLen - максимальное количество пунктов. Значение по-умолчанию 100
State - текущее значение


Как получить текущее значение

Необходимо прочитать значение параметра State
ReadINIStr $0 "$PLUGINSDIR\Project.ini" "Field 1" "State"


Пример


INI файл:
; Ini file generated by the HM NIS Edit IO designer.
[Settings]
NumFields=2

[Field 1]
Type=TrackBar
Text=TrackBar
Left=4
Right=226
Top=7
Bottom=20
NOTIFY=ONSELCHANGE

[Field 2]
Type=Text
Left=4
Right=226
Top=24
Bottom=36

NSIS код:
Function MyDialog
  InitPluginsDir
  File /oname=$PLUGINSDIR\Project.ini "Project.ini"

        InstallOptionsEx::initDialog /NOUNLOAD "$PLUGINSDIR\Project.ini"
        InstallOptionsEx::show
FunctionEnd


Function MyDialog_Leave
  ReadINIStr $0 "$PLUGINSDIR\Project.ini" "Settings" "State"

  StrCmp $0 0 Button_NEXT_Clicked
  StrCmp $0 1 TrackBar

  abort ; прекращаем проверку, т.к. взаимодействующих элементов в нашей странички больше нет

TrackBar:
   ReadINIStr $0 "$PLUGINSDIR\Project.ini" "Field 1" "State"
   ReadINIStr $1 "$PLUGINSDIR\Project.ini" "Field 2" "HWND"
   SendMessage $1 ${WM_SETTEXT} "" "STR:Установлено значение: $0"
abort

Button_NEXT_Clicked:
FunctionEnd