|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.02.2013, 22:57 | #1 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
Не срабатывает отсыл сочетаний клавиш
По нажатию горячей клавиши вызывается процедура, которая вставляет в активное поле набора (в основном Word) указанный текст. Перед этим туда же посылается сочетание клавиш, которые форматируют вводимый текст. Но столкнулся с такой проблемой: включение и выключение горячих клавиш срабатывает не всегда и даже не через раз. Зависимости не нашел. А если поставить галочки на все пункты (жирный, курсивом, подчеркнутый), то все сразу сочетания клавиш посылаются только с третьей-четвертой попытки, а не с первой, как вроде по коду должно. Прошу помочь разобраться, код привожу.
Код:
Код:
Никогда не знаешь, где тебе повезет... (Фрай)
|
02.02.2013, 05:10 | #2 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
Возможно, надо посылать не активному окну, а компоненты(классу) который лежит на этом окне и принимает текст...определить его класс и имя для поиска можно через spy++
|
02.02.2013, 08:38 | #3 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
Да отсыл-то текста сам по себе проходит всегда и успешно, потому что посылается именно активному компоненту
Код:
Никогда не знаешь, где тебе повезет... (Фрай)
|
02.02.2013, 11:36 | #4 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
Код:
|
02.02.2013, 12:46 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Я бы не делал принудительное отжимание и восстановление состояния управляющих клавиш. Проверку можно сделать, предупредить и не посылать данные в поле ввода, если какая-то из них нажата. Без этого все нормально работает, если не одна из них не нажата, а так абракадабристо, особенно с Alt и Shift
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
02.02.2013, 13:37 | #6 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
Дело в том, что сама процедура "inse(false, '(Техническая съемка.)'); вызывается по нажатию глобальной горячей клавиши. То есть схематично это выглядит так:
программа висит себе где-нибудь фоном, нажимается горячая клавиша (сочетание в данном случае), в активном поле ввода (word) шрифт меняется на курсив/жирный/подчеркнутый (в зависимости от указанных настроек), вводится текст выбранным шрифтом, шрифт меняется в исходное положение (убирается курсив/жирный/подчеркнутый). Сделал небольшой проектик для демонстрации. Просто запустить программу, поставить нужные галочки. Программу свернуть. Запустить word (openoffice) и по нажатию комбинации Ctrl+Shift+J смотреть, что вводиться в документ. Получается через раз, особенно если поставить сразу две или три галочки. test.rar
Никогда не знаешь, где тебе повезет... (Фрай)
|
04.02.2013, 13:36 | #7 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
Ребят, помощь все еще нужна!
Никогда не знаешь, где тебе повезет... (Фрай)
|
04.02.2013, 14:58 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
04.02.2013, 16:39 | #9 |
Погулять вышел
Участник клуба
Регистрация: 17.05.2010
Сообщений: 1,573
|
Аватар, большое спасибо. Про sleep-то я и не подумал.
Никогда не знаешь, где тебе повезет... (Фрай)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перебор сочетаний | Orjanruusu | PHP | 2 | 12.05.2012 11:42 |
Перебор неповторяющихся сочетаний | David Villa | Общие вопросы C/C++ | 3 | 08.05.2012 10:53 |
Найти количество сочетаний из n по k и вывести все комбинации этих сочетаний на экран | Рон99 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 14.12.2011 00:05 |
Восстановление сочетаний клавиш... | Busine2009 | Microsoft Office Word | 0 | 28.06.2009 20:17 |
По нажатию, каких сочетаний клавиш можно программно развернуть приложение, если оно свернуто в трее? | Johnny_B | Win Api | 1 | 04.06.2007 08:20 |