powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как устроена виртуальная клавиатура в Винде?
13 сообщений из 13, страница 1 из 1
Как устроена виртуальная клавиатура в Винде?
    #39533233
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вообще получается, что форма принимает клики от пользователя, но при этом в фокусе остается контрол на другой форме? Или не остается?
Надо написать нечто подобное, да еще чтоб оно не конфликтовало с имеющейся виндовой виртуальной клавой.
...
Рейтинг: 0 / 0
Как устроена виртуальная клавиатура в Винде?
    #39533304
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homeКак вообще получается, что форма принимает клики от пользователя, но при этом в фокусе остается контрол на другой форме?Никак. Эта форма-клавиатура, на которой фокус, перенаправляет клики на свою "главную" форму.
Или другой пример - комбобоксу открытому его "главное" окно клавиатуру шлет.
...
Рейтинг: 0 / 0
Как устроена виртуальная клавиатура в Винде?
    #39533321
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как устроена виртуальная клавиатура в Винде?
    #39533324
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как устроена виртуальная клавиатура в Винде?
    #39533360
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockFlying-homeКак вообще получается, что форма принимает клики от пользователя, но при этом в фокусе остается контрол на другой форме?Никак. Эта форма-клавиатура, на которой фокус, перенаправляет клики на свою "главную" форму.
Или другой пример - комбобоксу открытому его "главное" окно клавиатуру шлет.
Только что открыл прогу, в которой есть комбобокс. Запустил экранную клавиатуру. Кликнул на комбобоксе проги, кликнул на букву на экранной клавиатуре. Комбобокс не схлопнулся, значит, окно проги активность не потеряла и комбобокс фокуса не потерял. А буквы, нажатые на экранной клавиатуре начали перелистывать содержимое комбобокса. Значит, окно экранной клавиатуры реагируя на мышь, не стало активным. Вот, мне интересно, как.

wadman+ https://www.codeproject.com/Articles/32563/Virtual-On-Screen-Keyboard-Example
Ща гляну.
...
Рейтинг: 0 / 0
Как устроена виртуальная клавиатура в Винде?
    #39533392
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homeЗначит, окно экранной клавиатуры реагируя на мышь, не стало активным. Вот, мне интересно, как.
https://msdn.microsoft.com/en-us/library/windows/desktop/ff700543(v=vs.85).aspx
WS_EX_TOOLWINDOW не получает фокуса.
...
Рейтинг: 0 / 0
Как устроена виртуальная клавиатура в Винде?
    #39533395
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как устроена виртуальная клавиатура в Винде?
    #39533958
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homeКомбобокс не схлопнулся, значит, окно проги активность не потеряла и комбобокс фокуса не потерял.Комбобокс фокуса и не имел. Это неактивируемое окно (не помню какой стиль, какой-то ws_ex_). Фокус все время был на его родителе и перенаправлял ему события.
До тех пор, пока ты клавиатуру не открыл. Тогда она активной стала, но пеиенапрсвляла события на форму, которая - на комбобокс.
...
Рейтинг: 0 / 0
Как устроена виртуальная клавиатура в Винде?
    #39534090
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

Ты уверен, что знаешь, что пишешь?
...
Рейтинг: 0 / 0
Как устроена виртуальная клавиатура в Винде?
    #39534180
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homeYuRock,

Ты уверен, что знаешь, что пишешь?Я делал с нуля свой комбобокс и другие контролы, которые работают по такому принципу.
...
Рейтинг: 0 / 0
Как устроена виртуальная клавиатура в Винде?
    #39534210
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockFlying-homeYuRock,

Ты уверен, что знаешь, что пишешь?Я делал с нуля свой комбобокс и другие контролы, которые работают по такому принципу.
А я говорил об обычном комбобоксе в сторонней программе.
...
Рейтинг: 0 / 0
Как устроена виртуальная клавиатура в Винде?
    #39534275
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockЭто неактивируемое окно (не помню какой стиль, какой-то ws_ex_)
Добрался до компа.
Стиль окна WS_EX_NOACTIVATE,
Созданать надо без стиля WS_VISIBLE,
показывать надо так:
ShowWindow( Handle, SW_SHOWNOACTIVATE );
Ну и стиль WS_POPUP, конечно, нужен.

Flying-homeА я говорил об обычном комбобоксе в сторонней программе.
Именно так и работают все "обычные" комбобоксы, в любых программах.

По такому же принципу работает и клавиатура.
...
Рейтинг: 0 / 0
Как устроена виртуальная клавиатура в Винде?
    #39534276
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(экранная)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как устроена виртуальная клавиатура в Винде?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]