EN  RU
Войти
Главная
Скачать
Купить
Документация
Поддержка
Контакты
 
Справочная информация  /  FAQ

Как определить свою функцию обработчик диалоговых окон

Имеется возможность определить свою функцию-обработчик событий для любого диалогового окна. Там вы можете производить дополнительные проверки и действия. Здесь же ниже будет рассмотрено использование своей функции, которая вызывается только при нажатии на кнопку Далее. Полная функция обработчик определяется с помощью переменной Dfunc, а функция обработчик для кнопки Далее определяется с помощью Dnextfunc. 

Полная функция-обработчик Dfunc 

Рассмотрим небольшой пример использования Dfunc на диалоговом окне Путь установки.

Шаг 1

Укажите в 'Дополнительных опциях' имя вашего обработчика в переменной Dfunc. Замечание! Имена ваших функций должны заканчиваться на cmdproc.

Dfunc = mydlgpathcmdproc 

Шаг 2

В начале скрипта добавьте команду Исходный код. Отметьте чекбокс 'Внешний исходный код'. В поле исходного кода вставьте функцию обработчик или ссылку на gentee файл с этой функцией

func uint mydlgpathcmdproc( uint wnd id ctl codedlg )
{
   switch id
   {
      case $DLGINIT : print("Init\n")
      case $IDC_PREV : print("Press Prev\n")
      case $IDC_NEXT : print("Press Next\n")
      }      
   }
   return dlgpathcmdproc( wnd, id, ctl, codedlg )
}

или

include : $"c:\my files\myfunc.g" 

Не забывайте вызывать стандартный обработчик из свой функции. Имена стандартных обработчиков и примеры функций обработчиков можно найти в поддиректории cmds\sources где установлен CreateInstall.

Функция обработчик по кнопке Далее Dnextfunc

Шаг 1

Укажите в 'Дополнительных опциях' имя вашего обработчика в переменной Dnextfunc. Замечание! Имена ваших функций должны заканчиваться на cmdproc.

Dnextfunc = nextpathcmdproc

Шаг 2

В начале скрипта добавьте команду Исходный код или вы можете использовать уже существующую команду с исходным кодом. В этом случае, просто вставляете туда вашу функцию. Отметьте чекбокс 'Внешний исходный код'. В поле исходного кода вставьте функцию обработчик или ссылку на gentee файл с этой функцией.

Функция должен быть один параметр типа uint, в котором будет передан идентификатор окна. Функция должна возвращать 1 для перехода далее или 0, если вы хотите запретить пользователю продолжение установки. 

func uint nextpathcmdproc( uint wnd )
{
   str path
   macrox_getstr( "setuppath", path )
   path.lower();
   if path[0] != '0'
   {
       msg_warning( "Select the installation path on drive C:", "#lcaption#" )
       return 0
   }
   return 1
}

 

Смотрите также

  • Переменные-параметры диалогов
  • Пример использования диалоговой функции
Eonza automation software - free, open source cross-platform program for easy creation and management of scripts.
  • Справочная информация
    • Введение
    • Первое знакомство
    • Сравнение инсталляторов
    • Лицензионное соглашение
    • Лицензия Light
    • Лицензия Free
    • Возможности программы
    • Список команд
    • FAQ
      • Глобальные переменные
      • Как использовать переменные среды
      • Как определить Control ID
      • Как подписать инсталляцию
      • Как создавать ярлыки
      • Локальные переменные
      • Переносная версия
      • Установка 64-bit приложений
      • Ложные срабатывания антивирусов
      • Фильтр распаковки
      • Запуск из командной строки
      • Как двигать контролы
      • Как использовать Условие
      • Мультисборка установок
      • Общие параметры диалогов
      • Переменные зависимые от языка
      • Переменные-параметры диалогов
      • Предопределенные директории
      • Предопределенные переменные
      • Функция-обработчик диалогов
    • Примеры
    • CreateInstall Assistant
    • Распаковщик установок
    • Решение проблем
Политика конфиденциальности
Copyright © ООО «Новострим», 2009-2026 ОГРН 1107232031390. Все права защищены.