Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставить строку в активное поле 
:(
    Опции темы
Guest_Paul
Дата 19.4.2003, 13:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Доброго вам времени суток!

У меня возникла необходимость вставлять некоторую строку в положение курсора активного окна, по некоторому событию (например по таймеру).
Независимо, будь то командная строка WinCommander, поле блокнота , Word, Excel.

С текстовыми полями проще, т.е. всё работает, проблема с вордом и экселем.

Зарание брагодарен всем за помощь!
  Вверх
Vex
Дата 19.4.2003, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


кацапосрачмученiкъ
****


Профиль
Группа: Экс. модератор
Сообщений: 3103
Регистрация: 28.3.2002
Где: strawberry fields

Репутация: 1
Всего: 88



Надо посылать сообщения активным окнам.


--------------------
Слава Україні.
PM   Вверх
Guest_Paul
Дата 19.4.2003, 14:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я понимаю, но как это сделать относительно ворда?
  Вверх
Hamster
Дата 20.4.2003, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 17.4.2003

Репутация: нет
Всего: нет



Цитата(Vex @ 19.4.2003, 14:33)
Надо посылать сообщения активным окнам.

Ясно! Как советовать, так все горазды, а как до дела, так никто не может!
mad.gif mad.gif smile.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif
PM MAIL   Вверх
<Spawn>
Дата 20.4.2003, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



А Send(Post)Message не работает?


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
<Spawn>
Дата 20.4.2003, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Например, можно использовать сообщение WM_CHAR. SendMessage(HWND,WM_CHAR,wParam,lParam)


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Song
Дата 20.4.2003, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Во все проги не полуится.. Это на самом деле трудная задача.


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Hamster
Дата 20.4.2003, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 17.4.2003

Репутация: нет
Всего: нет



Ага! У меня в word и exel! Не получается, в остальное всё в норме!
PM MAIL   Вверх
Hamster
Дата 21.4.2003, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 17.4.2003

Репутация: нет
Всего: нет



Код

procedure TForm1.Timer1Timer(Sender: TObject);
var t:tpoint;
hwnd:thandle;
begin
GetCursorPos(t);
hWnd:=WindowFromPoint(t);

SendMessage(hWnd, WM_SETTEXT, 0, Integer(PChar('test')));
end;


Так вот! ЭТО работает везде кроме ворды и екселя! Как туда закинуть я не знаю!

У меня есть вопрос! А как мне отловить положение курсора(не мышка) в ворде и екселе и любом другом текстовом поле?
PM MAIL   Вверх
AntonSaburov
Дата 21.4.2003, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Цитата
Как советовать, так все горазды, а как до дела, так никто не может


Здесь многие участники работают. И иногда нет времени на писание кода. Так что не стОит так уж рубить с плеча.

А вообще странная задачка.
Можно попробовать работать через COM - везде есть команды позиционирования. Хотя они будут отличаться для каждого продукта.

Можно также пытаться работать через клипбоад, в принципе может получиться достаточно универсальный вариант. Но мне он крайне не нравиться.

PM MAIL WWW ICQ   Вверх
<Spawn>
Дата 21.4.2003, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Цитата(Hamster @ 20.4.2003, 16:10)
Код

procedure TForm1.Timer1Timer(Sender: TObject);
var t:tpoint;
hwnd:thandle;
begin
GetCursorPos(t);
hWnd:=WindowFromPoint(t);

SendMessage(hWnd, WM_SETTEXT, 0, Integer(PChar('test')));
end;


Так вот! ЭТО работает везде кроме ворды и екселя! Как туда закинуть я не знаю!

У меня есть вопрос! А как мне отловить положение курсора(не мышка) в ворде и екселе и любом другом текстовом поле?

Вроде GetCaretPos (Или как то так)


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Hamster
Дата 21.4.2003, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 17.4.2003

Репутация: нет
Всего: нет



А почему SendMessage(hWnd, wm_Paste,0,0); Не работает в ворде?

PM MAIL   Вверх
Hamster
Дата 23.4.2003, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 17.4.2003

Репутация: нет
Всего: нет



Люди! ПЛЗ хелп! В ворду через буфер обмена надо позарез вставить текст!
PM MAIL   Вверх
Song
Дата 24.4.2003, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Тоже не получится. MS Word не обрабатывает WM_PASTE в обычном режиме.


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
December
Дата 24.4.2003, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 8
Всего: 57



Цитата(Guest_Paul @ 19.4.2003, 13:52)
Доброго вам времени суток!

У меня возникла необходимость вставлять некоторую строку в положение курсора активного окна, по некоторому событию (например по таймеру).
Независимо, будь то командная строка WinCommander, поле блокнота , Word, Excel.

С текстовыми полями проще, т.е. всё работает, проблема с вордом и экселем.

Зарание брагодарен всем за помощь!

попробый kbd_event
Через анус, конечно, но, может, для твоих целей как раз.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
Hamster
Дата 25.4.2003, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 17.4.2003

Репутация: нет
Всего: нет



Я уже нашёл решение через анус! Просто нажимаю програмно shift+ins!

Это сообщение отредактировал(а) Hamster - 25.4.2003, 01:24
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0604 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.