Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » Кнопка закрытия всплывающего окна

   
Автор / Author Тема / Topic: Кнопка закрытия всплывающего окна
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358


Icon 1 отправлено / posted      Профиль для / Profile for Поляков Илья           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Вопрос: как убрать\отключить кнопку закрытия всплывающего окна (Х в правом верхнем углу)? Или отследить факт закрытия всплывающего экрана через аргументы канала вызова экрана?

Суть в том, что есть всплывающее окно, в котором есть две кнопки - ОК и Отмена. Нажатие кнопки Х и закрытие окна должно расцениваться как нажатие кнопки Отмена.

Сообщения / Posts 68 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Это отследить невозможно. Можно при закрытии через крестик еще раз вызывать это окно, пока не будет нажата Отмена.
Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358


Icon 1 отправлено / posted      Профиль для / Profile for Поляков Илья           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Ну понял, так и делаю сейчас. Шлю в IN двойку, пока не нажмется Отмена\ОК. Спасибо, подтвердили правильность решения. Два недостатка - экран моргает при попытке закрытия и кнопка лишняя, не функционирующая.
М.б. имеет смысл добавить в свойства окна опции отвечающие за наличие кнопок Закрыть\Минимизировать/Свернуть? Типа как в Дельфи? А в выходном атрибуте показывать статус экрана (Открыт=2\Закрыт=1\Свернут=0 например)?

Сообщения / Posts 68 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Внесли в базу улучшений
Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358


Icon 1 отправлено / posted      Профиль для / Profile for Поляков Илья           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А 87 (СС) атрибут у каналов CALL, при вызове экрана работает?

При вызове программ - работает. Могу посмотреть время между отработками.
При вызове экрана (всплывающего в частности) - не работает, значение всегда 0.

Сообщения / Posts 68 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358


Icon 1 отправлено / posted      Профиль для / Profile for Поляков Илья           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
М.б. есть аттрибут, который однозначно показывает - отрабатывается экран, или нет (раньше разговор ведь велся о аргументах экрана)?
88 (ms) атрибут показывает, в принципе, но немного неудобно использовать.

Сообщения / Posts 68 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AI
Active Forum Member / Активный участник форума
Участник № / Member № 3594


Icon 1 отправлено / posted      Профиль для / Profile for AI           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Можно при закрытии через крестик еще раз вызывать это окно, пока не будет нажата Отмена.

Извините, а как это сделать?
Мне надо, чтобы пользователь для закрытия окна использовал именно кнопку (НЕТ), так как при этом запускается определенная процедура.

Сообщения / Posts 75 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AI
Active Forum Member / Активный участник форума
Участник № / Member № 3594


Icon 1 отправлено / posted      Профиль для / Profile for AI           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Если через программу, слать двойку, то так не пойдет.
У меня одно окно используется для многих алгоритмов. Если какой-то алгоритм его открыл, то все остальные должны ждать, факт закрытия окна, своей очереди. Поэтому я добавил переменную в аргументы окна, и её обрабатываю в коде программы. Если окно открыто, то переменная = 1, если окно открыто, 0, если закрыто. Обнуляется эта переменная, если нажали на кнопку. А вот если нажали на крестик, то эта переменная, естественно не обнулится. Как быть?

Сообщения / Posts 75 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AI
Active Forum Member / Активный участник форума
Участник № / Member № 3594


Icon 1 отправлено / posted      Профиль для / Profile for AI           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо уже сделал. Через 88 атрибут
Сообщения / Posts 75 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А по-какому алгоритму Вы отслеживаете видимость через 88-й атрибут?

Не понял, почему нельзя программно (в другой программе) посылать двойку, пока не нажмется кнопка.

Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AI
Active Forum Member / Активный участник форума
Участник № / Member № 3594


Icon 1 отправлено / posted      Профиль для / Profile for AI           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
У меня несколько программ, которые могут посылать двойку в одно и то же окно, открывают его и получают оттуда данные. Они могут послать её одновременно в окно, это невозможно отследить. При нажатии на ДА или НЕТ в окне, запускается определенная процедура и окно закрывается (программно).Поэтому, чтобы не получить "левые" данные надо определить факт открытия окна. Если окно уже кто-то открыл, надо подождать. Для того, чтобы отследить, открыто окно или нет, ввел переменную в аргумент окна. Она равна 1 когда окно открыто, 0 - закрыто. Проблема случилась в том, что при нажатии на крестик окно закрывалось и не могло открыться вновь, потому как флаг открытия окна не сбрасывался. Процедуры Да и НЕТ не отрабатывались же.
Тут посмотрел, что когда открыто окно в 88 атрибуте постоянно вертится таймер. Поэтому написал программку, которая открывает вновь окно, если таймер остановился, а флаг открытия окна НЕ сброшен, т.е. не была нажата кнопка ДА или НЕТ. В общем получилось не сложно.

Сообщения / Posts 75 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Несложно, только учтите, что у всех экранов с трендом этот атрибут "бегает" всегда.
Сообщения / Posts 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AI
Active Forum Member / Активный участник форума
Участник № / Member № 3594


Icon 1 отправлено / posted      Профиль для / Profile for AI           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Я тут повнимательней посмотрел, можно обойтись и без 88-го атрибута. Что я и сделал. Всё работает и без него )).
Сообщения / Posts 75 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Поляков Илья
Active Forum Member / Активный участник форума
Участник № / Member № 3358


Icon 1 отправлено / posted      Профиль для / Profile for Поляков Илья           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Как это как это?! [Пдмигивание / Wink]
Сообщения / Posts 68 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2