Показано с 1 по 10 из 160

Тема: CODESYS V3.5. Онлайн-FAQ

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,704

    По умолчанию VISU#25. Как программно обработать результат закрытия диалога ввода? (Numpad, Keypad)

    Вопрос: необходимо в коде программы определить, по нажатию на какую кнопку (OK или CANCEL) был закрыт диалог Numpad или Keypad.
    Это требуется, например, чтобы при вводе нового значения (с помощью нажатия на кнопку OK) однократно произвести его валидацию.
    Каким образом это можно сделать?

    Ответ: для диалогов библиотеки OwenVisuDialogs (NumpadOwen, NumpadOwenBig, KeypadOwen, KeypadOwenBig) начиная с версии 3.5.14.3 добавлена возможность получения информации о результате закрытия диалогов.
    Для этого используется переменная g_stClosedDialogInfo из списка глобальных переменных DialogsSettings.
    Переменная является структурой типа OwenDialogClosingInfo и включает следующие поля, содержащие информацию о последнем закрытом диалоге:

    2021-06-02_9-54-16.png

    • xIsDialogClosed (BOOL) - флаг закрытия диалога. Принимает значение TRUE при закрытии любого из упомянутых выше диалогов.
      Сбрасывается в FALSE автоматически при открытии любого из упомянутых диалогов или вручную из программы пользователя.
    • wsDialogTitle (WSTRING) - заголовок закрытого диалога
    • eDialogType (перечисление OwenDialog_TYPE) - тип закрытого диалога (NUMPAD или KEYPAD)
    • eDialogClosingResult (перечисление OwenDialogClosed_RESULT) - результат закрытия диалога (т.е. кнопка диалога, по нажатию на которую он был закрыт - OK или CANCEL)


    Библиотека и пример использования доступны по ссылке:
    https://owen.ru/forum/showthread.php...l=1#post348262

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

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 29.06.2017, 11:21

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •