|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.07.2009, 20:52 | #1 |
Пользователь
Регистрация: 11.07.2009
Сообщений: 90
|
Постоянный фокус на одной программе
как постоянно держать программу активной?? То есть чтобы фокус с нее не уходил?? Или при потере фокуса возвращать его обратно на главное окно программы (программа однооконная)??
Apache/2.2.23 (Win32) PHP/5.3.18
Win7Pro 64 Vertrigo |
28.07.2009, 20:58 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Application.OnDeactivate(вроде так)..метод назначается в ран-тайме(потом пример дам..сейчас я не дома)
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Stilet; 29.07.2009 в 10:09. |
29.07.2009, 10:06 | #3 |
Пользователь
Регистрация: 11.07.2009
Сообщений: 90
|
Не работает. Приведу пример чтобы понятнее было. Есть у меня окно формы, оно у меня всегда наверху fsStayOnTop. Но если клацнуть мышкой по рабочему столу вне формы - тогда все, окно формы больше не принимает команд нажатия клавиш, например F2. Нужно опять щелкнуть (перейти) на окно программы, чтобы оно опять принимало команды...
Apache/2.2.23 (Win32) PHP/5.3.18
Win7Pro 64 Vertrigo |
29.07.2009, 10:10 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
29.07.2009, 11:17 | #5 |
Пользователь
Регистрация: 11.07.2009
Сообщений: 90
|
программа вообще-то помимо F2 еще должна принимать еще несколько клавиш - Backspace, Enter, Up, Down. И что, их тоже всех регить через ХотКей??
Apache/2.2.23 (Win32) PHP/5.3.18
Win7Pro 64 Vertrigo |
29.07.2009, 11:40 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
29.07.2009, 11:42 | #7 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
Могу со своей стороны предложить вам использовать такой код:
Код:
Вот я поставил таймер и выставил мин. интервал, потом написал: Код:
Последний раз редактировалось BaronTreep; 29.07.2009 в 11:50. |
29.07.2009, 12:41 | #8 |
Пользователь
Регистрация: 11.07.2009
Сообщений: 90
|
что именно значит эта строка: in [127, 128])??
Конечно вариант интересный, но неужели так сложно реализовать постоянство формы в активном состоянии??
Apache/2.2.23 (Win32) PHP/5.3.18
Win7Pro 64 Vertrigo |
29.07.2009, 13:05 | #9 |
Ra-Ra ?
Форумчанин
Регистрация: 06.03.2008
Сообщений: 286
|
regman - Почему вам именно постофнный фокус нужен ? Если вам необходима реакция программы на определённые клавиши то например с GetAnsyncKeyState можно узнать, нажата-ли клавиша. Используйте Virtual-Key Codes, а при нажатом состоянии клавиши функция возвращает отрицательное число.
Также можно воспользоватся советом Stilet'a Ну а если все таки вам нужен постоянный фокус, то прийдётся учить хуки. Поскольку можно отлавливать сообщения передачи фокуса, и просто их блокировать. |
29.07.2009, 13:14 | #10 | ||
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
Цитата:
Цитата:
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Постоянный запрос о выполнении действия (NOD32) | Ronni10 | Безопасность, Шифрование | 2 | 19.12.2008 17:19 |
Передача данных из одной таблицы в другую, при выборе одной ячейки | MickMick | Microsoft Office Excel | 6 | 06.10.2008 13:57 |
Acer постоянный AUTO config | Carbon | Компьютерное железо | 4 | 25.04.2008 22:54 |
Фокус? | AlexandrDel | Помощь студентам | 3 | 17.12.2006 01:54 |