PDA

Просмотр полной версии : СП310 - окна тревог и прорисовка линий



ks-app
09.06.2016, 09:21
Есть несколько вопросов по СП310.
Сначала о прорисовке линий (см. фото - качество не очень, но будет понятно).

24857

Часть линии рисуется в 1 пиксель, а часть - в 2 пикселя. Хотя в конфигураторе линия 2 пикселя.
Сначала думал, что на панели пиксели не работают. Но смещение линии не помогло. Так что глюк в чём-то другом.
В чём может быть дело и как решить проблему?

Вопрос второй.
При вызове обычного окна можно задать его координаты (Х и Y), тем самым выбрав его положение на экране.
Можно ли как-то задать координаты для окна тревог? А то при изменении его размеров оно отображается не по центру экрана.

И третий вопрос: можно ли как-то сделать, чтобы при вызове окна тревог однократно срабатывала пищалка панели?

Всем заранее спасибо за ответы.

ks-app
10.06.2016, 07:15
В общем, как говорится, спасибо что выслушали )))
Решения, как всегда, нашёл сам.

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

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

Ну а второй вопрос остаётся открытым. Можно, конечно, вместо окна тревог использовать обычное окно, которое будет вызываться при наступлении события. Но такое решение вряд ли можно назвать изящным (да и зачем в этом случае тогда нужны окна тревог).

Евгений Кислов
10.06.2016, 07:27
В общем, как говорится, спасибо что выслушали )))
Решения, как всегда, нашёл сам.

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

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

Ну а второй вопрос остаётся открытым. Можно, конечно, вместо окна тревог использовать обычное окно, которое будет вызываться при наступлении события. Но такое решение вряд ли можно назвать изящным (да и зачем в этом случае тогда нужны окна тревог).

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

petera
10.06.2016, 14:43
Вопрос второй.
При вызове обычного окна можно задать его координаты (Х и Y), тем самым выбрав его положение на экране.
Можно ли как-то задать координаты для окна тревог? А то при изменении его размеров оно отображается не по центру экрана.

И третий вопрос: можно ли как-то сделать, чтобы при вызове окна тревог однократно срабатывала пищалка панели?
На третий вопрос Вы себе ответили, но еще посмотрите здесь, похожая задача была http://www.owen.ru/forum/showthread.php?t=22915&p=208549&viewfull=1#post208549
А вот второй вопрос, а точнее "при изменении его размеров оно отображается не по центру экрана" совершенно не понятен.
Вы не можете изменяя размеры окна, сделать так, чтобы оно отображалось не по центру экрана.
Как бы Вы не меняли размеры сигнального окна оно всегда будет по центру экрана, верней сказать всегда будет располагаться симметрично относительно центра экрана.
24896

Можно, конечно, вместо окна тревог использовать обычное окно, которое будет вызываться при наступлении события. Но такое решение вряд ли можно назвать изящным (да и зачем в этом случае тогда нужны окна тревог).
Чем окна тревог отличаются от обычных?
1. Окна тревог вызываются по фронту бита управления, а элемент Вызов окна открывает окно до тех пор, пока бит управления активный.
2. Окнам тревог можно задать интервал автоповтора и окно будет вызываться вновь и вновь, пока активен бит управления.

Полностью имитировать работу сигнальных окон при использовании обычных позволяет не элемент Вызов окна, а ф.область с функцией открыть окно.
24897
Для имитации работы однократного вызова окна нужно задать условие выполнения ф.области от бита управления.
24898
Для имитации сигнального окна с автоповтором, нужно задать условие выполнения ф.области по времени и с битом разрешения.
24899
Координаты верхнего левого угла окна можно зафиксировать
24900
И тогда заданные здесь координаты не будут изменяться при изменении положения самой ф.области, т.е. ф.область может быть в любом удобном месте экрана.
Лучше всего размещать эти ф.области на служебном экране 65535, сразу будут глобальными и не будут загромождать экраны, но если Вы не используете расширенный режим редактора, то обязательно делать их глобальными.

https://www.youtube.com/watch?v=P-dHhW6tNms