Written on: 11. 01. 2010 [12:46]
|
phantom
Алексей Добрынин
Topic creator
registered since: 24.12.2009
Posts: 19
|
Существует ли виртуальная клавиатура для использования скады в тач панелях ?
Все глюки Windows исправляются установкой Linux :)
|
Written on: 11. 01. 2010 [13:29]
|
kuzulis
Денис Шиенков
registered since: 10.07.2009
Posts: 128
|
Тут наверное нужно использовать что-то системное или самому клавиатуру писать (на Qt4)
|
Written on: 11. 01. 2010 [13:39]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
Писать свою виртуальную клавиатуру трудоёмкая задача, если конечно пытаться учитывать раличные типы раскладок для различных языков, а не учитывать для исходно многоязыкового проекта нельзя.
Кроме того это системная задача и такие программы есть, думаю Алексей скоро здесь про одну из них расскажет.
Learn, learn and learn better than work, work and work.
|
Written on: 11. 01. 2010 [13:45]
|
phantom
Алексей Добрынин
Topic creator
registered since: 24.12.2009
Posts: 19
|
Конечно, есть виртуальная клавиатура.
Вопрос был вот к чему, в одной скаде на vxworks, по нажатию на поле ввода всплывает клавиатура для ввода.
В моем случае видимо придется делать кнопку с запуском сторонней xvkbd.
Просто несколько удобнее вызывать родную клаву (типа контрол) и место на экране не занимать кнопками.
Все глюки Windows исправляются установкой Linux :)
|
Written on: 11. 01. 2010 [14:35]
|
Aleksey
Aleksey Popkov
Contributor
registered since: 31.07.2008
Posts: 326
|
Данная необходимость недавно возникла и у меня.
После пересмотра многих из виртуальных клавиатур выявилая 1-на проблема на всех.
Проблема с поддержкой "многоязыковости".
Самая на мой взгляд оптимальная iok. Небольшой размер, большие кнопки. Но, если виджет запущен на весь экран, то даже вот так sysCall("kstart --ontop --alldesktops iok&");
iok - прячется за этим виджетом. )))))))))))))))))))
К подбору кливиатуры я еще вернусь, если вдруг что-нить нарою получше то пополню Wiki страницу вот тут http://wiki.oscada.org/Using/FPC-1701, о чем сообщу тут на форуме.
Да, и еще чуть не забыл, не нужно никаких кнопок делать что-бы вызвать системную клавиатуру.
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
[This article was edited 2 times, at last 11.01.2010 at 16:02.]
|
Written on: 08. 05. 2010 [12:53]
|
phantom
Алексей Добрынин
Topic creator
registered since: 24.12.2009
Posts: 19
|
Благодарю
Все глюки Windows исправляются установкой Linux :)
|