| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Вставить текст из буфера в чужую прогу??? |
| Автор: WaReZMEN 19.10.2007, 07:25 |
| Вообщем имеется текст в буфере нужно его вставить в то место где сейчас курсор (курсор в текстовом редакторе неважно в каком вообщем любом месте где можно вводить текст естественно в ту прогу что активна), все это происходит когда я нажимаю кнопки не ctrl+v а к примеру shift+backspace. Подскажите как сделать? |
| Автор: Alix 19.10.2007, 08:28 |
| may be you need WM_PASTE message? |
| Автор: skyboy 21.10.2007, 03:30 |
| WaReZMEN, как подсказывает Alix, надо отправить сообщение. по справке посмотри postMessage(только не в "Delphi help", а в "Windows SDK"). отправлять надо сообщение WM_PASTE. Естественно, отправлять сообщение не всем подряд, а только активному окну. как искать активное окно не помню, так что поройся самостоятельно в Windows SDK на предемет "getActiveWindow" или что-то в этом роде. Однако, даже если ты найдешь нуное окно и пошлешь ему сообщение, только отэтого окна и будет зависеть, обработает оно сообщение и вставит ли данные из буфера или нет. |
| Автор: VICTAR 21.10.2007, 05:32 |
GetForegroundWindow Добавлено через 3 минуты и 44 секунды http://forum.vingrad.ru/forum/topic-177594.html# |
| Автор: WaReZMEN 22.10.2007, 08:40 | ||
Написал
Никакой реакций |
| Автор: Alix 22.10.2007, 10:34 | ||
там как раз ничерта нет потому что посылать нужно не окну верхнего уровня, а непосредственно окну контрола. Пример:
Для твоих целей надо только не брать первый попавшийся на форме TEdit (как я это делаю в примере), а брать активный. Как его найти мне неизвестно, я поднимал этот вопрос в теме указанной VICTAR'ом, мне не ответили. |
| Автор: WaReZMEN 22.10.2007, 14:13 |
| Alix, Спасибо!!! как узнаеш даи знать |
| Автор: Alix 22.10.2007, 16:17 | ||
докладаюсь о результатах. Желаемого удалось достичь таким образом:
Полный код программы в аттаче (висит в бэке, по ctrl+alt+f10 выходит, по ctrl+alt+f9 вставляет буфер в текущий контрол). |
| Автор: WaReZMEN 23.10.2007, 10:30 |
| Alix, Спасибо!!!! |
| Автор: WaReZMEN 23.10.2007, 11:12 |
| Созрел другой вопрос а как скапировать выделеный текст по нажатию на кнопки к премеру теже ctrl+alt+f9 ? |
| Автор: Alix 23.10.2007, 11:14 |
| WM_COPY а так же есть WM_CUT и WM_CLEAR и, быть может пригодится, EM_UNDO |
| Автор: WaReZMEN 24.10.2007, 00:07 |
| Alix, Спасибо! Чето сам и не подумал |
| Автор: WaReZMEN 24.10.2007, 06:24 |
| Все можно закрыть тему |