Ключевое слово part: создание элементов интерфейса


Возможностей actionlist иногда бывает не достаточно. Что делать, если нужно указать в реестре произвольное значение: значение, введенное пользователем? В этом случае нам может помочь служебное слово part. С его  помощью вы можете организовать поля для ввода текста, выпадающие списки, переключатели и другие элементы интерфейса.

Общий синтаксис использования служебного слова part следующий:

PART имя тип

Ключевые слова

[KEYNAME имя_ключа]'

[DEFAULT значение по умолчанию]

VALUENAME имя

END PART

Разберемся, что есть что:

— имя — может быть произвольным; оно будет указываться в окне настройки;

— тип — определяет элемент графического интерфейса:

— edittext — поле для ввода, в которое можно вводить как буквы, так и цифры. Значение имеет тип REG_SZ или REG_EXPAND_SZ;

— numeric — поле, предназначенное только для ввода цифр;

— text — используется для создания подсказок в окне настройки;

— checkbox — отображает независимый переключатель (флажок).  Возвращает значение 1 при установленном флажке и 0 — при снятом;

— сомвовох — список значений с возможностью ввода собственного  значения;

— listbox — отображает список с кнопками Добавить/Удалить  (используются для добавления и удаления элементов списка);

— ключевые слова — зависят от выбранного типа элемента интерфейса, мы их рассмотрим чуть позже;

— ключевое слово default — задает значение по умолчанию. При  включении политики редактор политик заполняет элемент интерфейса этим  значением;

— ключевое слово valuename — задает имя параметра реестра. Тип,и  значение параметра зависят от типа элемента интерфейса пользователя.

Рассмотрим небольшой пример (листинг 1).

Листинг 1  Пример организации окна с полем для ввода

POLICY "Третья политика"

KEYNAME "SoftwarePolicies"

PART Пример EDITTEXT

DEFAULT "Текст по умолчанию"

VALUENAME "Test"

END PART

END POLICY

Теперь рассмотрим создание других элементов интерфейса для  редактирования значения параметра. Флажок (checkbox) определяется так:

PART имя CHECKBOX

DEFCHECKED

'VALUENAME MyValue

END PART

Если указано ключевое слово defchecked, to флажок установлен, а соответствующему параметру реестра присвоено значение I; если не указано — флажок снят, а параметру передано значение 0. Однако вы можете задать и другие значения, соответствующие включенному и выключенному  состоянию флажка (листинг 2).

Листинг 2. Пример использования CHECKBOX.

POLICY "Четвертая политика"

KEYNAME "SoftwarePolicies"

PART Testl CHECKBOX

VALUENAME Myl

END PART

PART Test2 CHECKBOX

VALUENAME My2

VALUEON NUMERIC 10

VALUEOFF NUMERIC 5 .

END PART

END POLICY

l

Кроме флажков очень часто используются списки с возможностью ввода.

Описываются данные списки следующим образом:

PART имя СОМВОВОХ

SUGGESTIONS

; варианты

END SUGGESTIONS

[DEFAULT значение по умолчанию]

[MAXLENGTH длина]

[NOSORT]

[EXPANDABLETEXT]

VALUENAME имя_параметра

END PART

Самое главное в списке вариантов — это секция suggestions, в которой и описывается сам список. Элементы списка разделяются пробелом, а если название элемента должно содержать пробел, то его следует заключить в двойные кавычки:

SUGGESTIONS

Вариант1 Вариакт2 "Третий вариант"

END SUGGESTIONS

настройки с флажками

Все остальные ключевые слова, кроме valuename, указывать не обязательно, но мы все же их рассмотрим:

— default — задает значение по умолчанию;

— expandabletext — создает параметр реестра типа REG_EXPAND_SZ  вместо REG_SZ;

— maxlength — позволяет задать максимальную длину значения;

— nosort — позволяет отключить сортировку вариантов списка.

Небольшой пример:

PART Параметр COMBOBOX

SUGGESTIONS

Вариант1 Вариант2 "Третий вариант"

END SUGGESTIONS

VALUENAME MyString

END PART

Ближайшим родственником списка СОМВОВОХ является список LISTBOX.

Его синтаксис выглядит так:

PART имя LISTBOX

[EXPANDABLETEXT]

[NOSORT]

[ADDITIVE]

[EXPLICITVALUE|VALUEPREFIX префикс]

END PART

С первыми двумя параметрами списка мы уже знакомы, поэтому  остановимся на следующих параметрах:

— additive — перезаписывает содержимым списка значения, уже  имеющиеся в реестре;

О explicitvalue — позволяет указать имя параметра и его значение. Очень

удобный вариант;

— valueprefix — позволяет задать префикс имен параметров. Если вы  зададите префикс "Start", то будут сгенерированы имена параметров Start 1, Start2 и т. д.

Наверное, вы заметили, что для listbox не нужно указывать valuename. Как вы уже догадались, этот список работает с целым разделом реестра, а не с одним параметром, поэтому ключевое слово valuename просто не нужно. Пример использования listbox приведен в листинге 3.

Листинг 3. Политика для редактирования всех значений

POLICY "Редактирование всех значений"

KEYNAME "SoftwarePolicies"

EXPLAIN "Список для редактирования всех значений из SofcwarePolicies"

PART Параметры LISTBOX

explicitvalue

END PART

END POLICY

Следующий тип графического интерфейса — numeric — позволяет создать поле для ввода целых значений со стрелками уменьшения/увеличения  значения. Вот его синтаксис:

PART имя NUMERIC

[DEFAULT значение по умолчанию]

[МАХ максимальное значение]

[MIN минимальное значение]

[SPIN шаг]

[TXTCONVERT]

VALUENAME имя_параметра

END PART

Параметры min и мах указывают соответственно минимальное и  максимальное значения. Параметр spin определяет шаг — значение, на которое будет увеличиваться или уменьшаться счетчик, по умолчанию он равен 1. Если указать txtconvert, to вместо параметра реестра типа REG_DWORD будет использоваться параметр типа REG_SZ. Пример использования numeric:

PART Температура NUMERIC

MAX 100

MIN 0

VALUENAME имя_параметра

END PART

— explicitvalue — позволяет указать имя параметра и его значение. Очень удобный вариант;

-valueprefix — позволяет задать префикс имен параметров. Если вы  зададите префикс "Start", то будут сгенерированы имена параметров Start 1, Start2 и т. д.

Наверное, вы заметили, что для listbox не нужно указывать valuename. Как вы уже догадались, этот список работает с целым разделом реестра, а не с одним параметром, поэтому ключевое слово valuename просто не нужно.

Пример использования listbox приведен в листинге 4.

Листинг 4. Политика для редактирования всех значений

POLICY "Редактирование всех значений"

KEYNAME "SoftwarePolicies"

EXPLAIN "Список для редактирования всех значений из SofcwarePolicies"

PART Параметры LISTBOX

explicitvalue

END PART

END POLICY

Следующий тип графического интерфейса — numeric — позволяет создать поле для ввода целых значений со стрелками уменьшения/увеличения  значения. Вот его синтаксис:

PART имя NUMERIC

[DEFAULT значение по умолчанию]

[МАХ максимальное значение]

[MIN минимальное значение]

[SPIN шаг]

[TXTCONVERT]

VALUENAME имя_параметра

END PART

Параметры min и мах указывают соответственно минимальное и  максимальное значения. Параметр spin определяет шаг — значение, на которое будет увеличиваться или уменьшаться счетчик, по умолчанию он равен 1. Если указать txtconvert, to вместо параметра реестра типа REG_DWORD будет использоваться параметр типа REG_SZ. Пример использования numeric:

PART Температура NUMERIC

MAX 100

MIN 0

VALUENAME имя_параметра

END PART


Оцените статью:
1 голос2 голоса3 голоса4 голоса5 голосов (Нет голосов)
Loading...Loading...
792 визитов
Также смотрите

Оставьте свой комментарий к статье