Вход на форум 
В начало e-Mail

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  
Smart Solutions VDT :: Просмотр темы - Экран RSView32 и нажатие Enter
 FAQFAQ   ПоискПоиск   ГруппыГруппы   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Экран RSView32 и нажатие Enter

 
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации
Предыдущая тема :: Следующая тема  
Автор Сообщение
kempo
Эксперт
Эксперт


Зарегистрирован: Jul 10, 2006
Сообщения: 150
Рейтинг: +6/-0
Откуда: Украина, Алчевск

СообщениеДобавлено: Чт 22 Май, 2008 6:38:58    Заголовок сообщения: Экран RSView32 и нажатие Enter Ответить с цитатой

Добрый день. Есть проект, в котором есть экран. На этом экране находится порядка 100 стандартных кнопок. Ни одна из них не выделенна. Нажимаем курсором мыши на любом пустом месте экрана. После этого нажимаем Enter - и одна из кнопок срабатывает. Что для нас не есть хорошо. В чем может быть проблема? Вроде бы все перерыли в проекте - нигде ничего подобного не прописано.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Kondratiev
Постоянный участник
Постоянный участник


Зарегистрирован: Dec 04, 2005
Сообщения: 79
Рейтинг: +1/-0
Откуда: Мариуполь, Киев

СообщениеДобавлено: Чт 22 Май, 2008 7:43:54    Заголовок сообщения: Re: Экран RSView32 и нажатие Enter Ответить с цитатой

kempo писал(а):
Добрый день. Есть проект, в котором есть экран. На этом экране находится порядка 100 стандартных кнопок. Ни одна из них не выделенна. Нажимаем курсором мыши на любом пустом месте экрана. После этого нажимаем Enter - и одна из кнопок срабатывает. Что для нас не есть хорошо. В чем может быть проблема? Вроде бы все перерыли в проекте - нигде ничего подобного не прописано.


а срабатывает одна и та же??? может просто в свойствах экрана цвет рамки на выделенной кнопке с фоном совпадает???
( уж простите за такое предположениеSmile)
а если нажимаете ДО нажатия мышью- че случается??
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
kempo
Эксперт
Эксперт


Зарегистрирован: Jul 10, 2006
Сообщения: 150
Рейтинг: +6/-0
Откуда: Украина, Алчевск

СообщениеДобавлено: Чт 22 Май, 2008 7:50:00    Заголовок сообщения: Re: Экран RSView32 и нажатие Enter Ответить с цитатой

Kondratiev писал(а):

а срабатывает одна и та же??? может просто в свойствах экрана цвет рамки на выделенной кнопке с фоном совпадает???
( уж простите за такое предположениеSmile)
а если нажимаете ДО нажатия мышью- че случается??

Срабатывает одна и та же. На кнопке сверху есть нарисованная галочка. Если бит стоит в 1 - то значение Visible у галочки становиться равным 1 и она появляется. Поэтому и узнаем что сработала именно эта кнопка. Так что думаю цвет фона тут не причем.
Если нажать кнопку ДО нажатия мышью - то происходит все то же самое. Просто я написал насчет нажатия мышью что бы было понятно - фокус курсора находиться не на данной кнопке а на фоне экрана.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
maxim
Эксперт
Эксперт


Зарегистрирован: Feb 16, 2007
Сообщения: 123
Рейтинг: +7/-0
Откуда: Енакиево

СообщениеДобавлено: Чт 22 Май, 2008 8:11:24    Заголовок сообщения: Re: Экран RSView32 и нажатие Enter Ответить с цитатой

kempo писал(а):
Добрый день. Есть проект, в котором есть экран. На этом экране находится порядка 100 стандартных кнопок. Ни одна из них не выделенна. Нажимаем курсором мыши на любом пустом месте экрана. После этого нажимаем Enter - и одна из кнопок срабатывает. Что для нас не есть хорошо. В чем может быть проблема? Вроде бы все перерыли в проекте - нигде ничего подобного не прописано.

Если я правильно Вас понял, ответ такой: менять активные кнопки можно "TAB", а после нажав "Enter" выполняется команда, и кнопка "срабатывает".
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
maxim
Эксперт
Эксперт


Зарегистрирован: Feb 16, 2007
Сообщения: 123
Рейтинг: +7/-0
Откуда: Енакиево

СообщениеДобавлено: Чт 22 Май, 2008 8:20:31    Заголовок сообщения: Ответить с цитатой

Добавлю: а по умолчанию фокус на той кнопке, которая была первая создана на этом дисплее. Только что у себя проверил Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
kempo
Эксперт
Эксперт


Зарегистрирован: Jul 10, 2006
Сообщения: 150
Рейтинг: +6/-0
Откуда: Украина, Алчевск

СообщениеДобавлено: Чт 22 Май, 2008 8:48:40    Заголовок сообщения: Ответить с цитатой

maxim писал(а):
Добавлю: а по умолчанию фокус на той кнопке, которая была первая создана на этом дисплее. Только что у себя проверил Smile

1) Данная кнопка была создана не первой - у нее имя Button22. Есть еще и Button11 - так что точно не перваяSmile
2) Насколько я понимаю при нажатии мышью на пустом месте экрана фокус должен уйти с кнопки. Если это так - то почему при нажатии Enter кнопка все равно срабатывает?
3) Предположим что то что Вы написали реально происходит. Можно как то от этого избавиться?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
maxim
Эксперт
Эксперт


Зарегистрирован: Feb 16, 2007
Сообщения: 123
Рейтинг: +7/-0
Откуда: Енакиево

СообщениеДобавлено: Чт 22 Май, 2008 9:36:13    Заголовок сообщения: Ответить с цитатой

П.1 в свойствах кнопки смотрите index: при вызове дисплея фокус будет на кнопке с index 1, а Button11 или Button22 можно менять в Object Name Smile
П.2 При клике мышью по экрану фокус на самом деле с кнопки на экран не уходит, а остается на прежнем месте.
П.3 Можно даже не предпологать, передо мной проект открыт и у меня это реально происходит Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
kempo
Эксперт
Эксперт


Зарегистрирован: Jul 10, 2006
Сообщения: 150
Рейтинг: +6/-0
Откуда: Украина, Алчевск

СообщениеДобавлено: Чт 22 Май, 2008 9:46:32    Заголовок сообщения: Ответить с цитатой

maxim писал(а):
П.1 в свойствах кнопки смотрите index: при вызове дисплея фокус будет на кнопке с index 1, а Button11 или Button22 можно менять в Object Name Smile
П.2 При клике мышью по экрану фокус на самом деле с кнопки на экран не уходит, а остается на прежнем месте.
П.3 Можно даже не предпологать, передо мной проект открыт и у меня это реально происходит Smile


спасибо за ответы. Проверю.
Но есть один мааааленький секрет. Несколько раз было что по Enter срабатывала другая кнопка, если не ошибаюсь Button 49 Smile При закрытии экрана и вновь его открытии - начинала срабатывать многострадальная Button22
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dvoeglazov
Эксперт
Эксперт


Зарегистрирован: Mar 06, 2006
Сообщения: 278
Рейтинг: +1/-0
Откуда: г.Киров-Чепецк

СообщениеДобавлено: Чт 22 Май, 2008 11:53:08    Заголовок сообщения: Ответить с цитатой

У каждой кнопки есть свой уникальный (если конечно вы руками не поправили) индекс. При открытии (именно открытии, т.к. окно может быть кешировано или просто находиться на заднем плане) управление перемещается на кнопку с меньшим индексом. Если я ничего не путаю, то при открытии окна можно задать индекс объекта, на который будет перемещено управление (фокус).

Есть правило хорошего тона:
любое действие оператора, приводящее к изменению состояния технологического оборудования, должно подтверждаться. А в окне подтверждения активная по умолчанию кнопка должна быть кнопка ОТМЕНА.

Что-бы окон подтверждения не рисовать много рисуют одно и используют параметры или теги #1.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
kempo
Эксперт
Эксперт


Зарегистрирован: Jul 10, 2006
Сообщения: 150
Рейтинг: +6/-0
Откуда: Украина, Алчевск

СообщениеДобавлено: Чт 22 Май, 2008 11:57:07    Заголовок сообщения: Ответить с цитатой

Dvoeglazov писал(а):

Есть правило хорошего тона:
любое действие оператора, приводящее к изменению состояния технологического оборудования, должно подтверждаться. А в окне подтверждения активная по умолчанию кнопка должна быть кнопка ОТМЕНА.

У нас именно так и сделано. Вначале набирается матрица и только в самом конце она подтверждается.
Спасибо большое за советы - будем разбираться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
dv_
Эксперт
Эксперт


Зарегистрирован: Sep 14, 2006
Сообщения: 776
Рейтинг: +41/-1
Откуда: Донецк

СообщениеДобавлено: Сб 24 Май, 2008 11:33:07    Заголовок сообщения: Ответить с цитатой

KEMPO, в свойствах экрана включи (сними "галочку") для "Disable Highligth When Object has Focus" и тогда будешь видеть какой объект сработает по нажатию ENTER.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DIMIOKS
Эксперт
Эксперт


Зарегистрирован: May 14, 2005
Сообщения: 290
Рейтинг: +9/-0
Откуда: г.Самара

СообщениеДобавлено: Вс 25 Май, 2008 0:23:54    Заголовок сообщения: Ответить с цитатой

Привет всем!

Все это делается очень просто: в DisplayKeys на клавищу Enter по событию PressAction вешается команда Position с указанием индекса ненужной кнопки. Тогда на этом дисплее нажатие клавиши Enter уведет фокус по индексу. Проверено. Только вот кнопка эта ненужная должна быть видимой Sad Хотя никто не запрещает сделать ее очень маленькой и по цвету экрана. Так-же можно в этом качестве использовать любой компонент, принимающий фокус.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
kempo
Эксперт
Эксперт


Зарегистрирован: Jul 10, 2006
Сообщения: 150
Рейтинг: +6/-0
Откуда: Украина, Алчевск

СообщениеДобавлено: Пн 26 Май, 2008 5:39:09    Заголовок сообщения: Ответить с цитатой

Всем большое спасибо за советы. Кнопка которая срабатывала действительно имела ID=1. Поменяли ей идентификатор на другой, а на кнопку перехода на другой экран повесили ID=1. Все прекрасно работает. Всем большое спасибо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации Часовой пояс: GMT + 1
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

Powered by phpBB © 2001, 2005 phpBB Group
Яндекс цитирования

Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany
Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de
Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна.
Открытие страницы: 0.140 секунды
/n