УкраїнськаEnglishmRussian
Вхід/Новий
У темі немає нових постів

Виртуальная клавиатура


Автор Повідомлення
Повідомлення створено: 11. 01. 2010 [12:46]
phantom
Алексей Добрынин
Автор теми
Зареєстрован(а) с: 24.12.2009
Повідомлення: 19
Существует ли виртуальная клавиатура для использования скады в тач панелях ?

Все глюки Windows исправляются установкой Linux :)
Повідомлення створено: 11. 01. 2010 [13:29]
kuzulis
Денис Шиенков
Зареєстрован(а) с: 10.07.2009
Повідомлення: 128
Тут наверное нужно использовать что-то системное или самому клавиатуру писать (на Qt4) icon_smile.gif
Повідомлення створено: 11. 01. 2010 [13:39]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
Писать свою виртуальную клавиатуру трудоёмкая задача, если конечно пытаться учитывать раличные типы раскладок для различных языков, а не учитывать для исходно многоязыкового проекта нельзя.

Кроме того это системная задача и такие программы есть, думаю Алексей скоро здесь про одну из них расскажет.

Learn, learn and learn better than work, work and work.
Повідомлення створено: 11. 01. 2010 [13:45]
phantom
Алексей Добрынин
Автор теми
Зареєстрован(а) с: 24.12.2009
Повідомлення: 19
Конечно, есть виртуальная клавиатура.
Вопрос был вот к чему, в одной скаде на vxworks, по нажатию на поле ввода всплывает клавиатура для ввода.
В моем случае видимо придется делать кнопку с запуском сторонней xvkbd.
Просто несколько удобнее вызывать родную клаву (типа контрол) и место на экране не занимать кнопками.

Все глюки Windows исправляются установкой Linux :)
Повідомлення створено: 11. 01. 2010 [14:35]
Aleksey
Aleksey Popkov
Contributor
Зареєстрован(а) с: 31.07.2008
Повідомлення: 326
Данная необходимость недавно возникла и у меня.
После пересмотра многих из виртуальных клавиатур выявилая 1-на проблема на всех.
Проблема с поддержкой "многоязыковости".

Самая на мой взгляд оптимальная iok. Небольшой размер, большие кнопки. Но, если виджет запущен на весь экран, то даже вот так sysCall("kstart --ontop --alldesktops iok&");

iok - прячется за этим виджетом. )))))))))))))))))))

К подбору кливиатуры я еще вернусь, если вдруг что-нить нарою получше то пополню Wiki страницу вот тут http://wiki.oscada.org/Using/FPC-1701, о чем сообщу тут на форуме.icon_biggrin.gif

Да, и еще чуть не забыл, не нужно никаких кнопок делать что-бы вызвать системную клавиатуру.

else if( sval == "ws_FocusIn:/NewMode" ) {
sysCall("kstart --ontop --alldesktops iok&");
}
Где NewMode - это FormEl, тип элемента "строка редактирования".
Получаем вызов iok при активации поля ввода.



Но, sysCall для этого лучьше не использовать. Возникнет следующий геморой:
"Из виджета запускаю iok. Виртуальную клавиатуру.
Потом не закрывая iok, закрываю виджет. Сессия остается открытой, если после этого закрыть iok, не нормализуется. И OpenSCADA при выключении не может блокировать кучу узлов."


Поэтому используем другу API функцию OpenSCADA.
system();


Описание этой функции вот тут http://wiki.oscada.org/Doc/OpisanieProgrammy



[Повідомлення редагувалось 2 раз(ів), останній раз 11.01.2010 в 16:02.]
Повідомлення створено: 08. 05. 2010 [12:53]
phantom
Алексей Добрынин
Автор теми
Зареєстрован(а) с: 24.12.2009
Повідомлення: 19
Благодарю

Все глюки Windows исправляются установкой Linux :)



21422