Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 1155
от 30.07.2008, 18:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 430, Экспертов: 36
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 140721: Добрый день, эксперты. Подскажите, пожалуйста, как получить данные из чужого StringGrid'a, конкретно из его ячеек, т.е. StringGrid находится в чужом запущенном приложении, Handle его я нахожу, и всё <img src="/images/Forum/72.gif" border="0">...

Вопрос № 140.721
Добрый день, эксперты.
Подскажите, пожалуйста, как получить данные из чужого StringGrid'a, конкретно из его ячеек, т.е. StringGrid находится в чужом запущенном приложении, Handle его я нахожу, и всё :(
Как вытягивать данные из Edita, чужого, впринципе, знаю, а вот с эти возникла проблема.
Спасибо.
Отправлен: 25.07.2008, 16:38
Вопрос задал: Семенов Андрей Викторович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Denisss
Здравствуйте, Семенов Андрей Викторович!

Принцип "вытягивания" данных из полей ввода (TEdit) приблизительно такой:

1. Вы получаете идентификатор (HWND) нужного поля ввода.
2. Отправляете этому полю сообщение WM_GETTEXT (либо напрямую, используя функцию SendMessage, либо с помощью функции GetWindowText, либо используете какую-то другую функцию).
3. Edit получает сообщение WM_GETTEXT и выдает соответствующий текст (кстати говоря, Вы можете создать собственный Edit со своим обработчиком сообщения WM_GETTEXT и будете выдавать любой текст, который Вам вздумается).

К сожалению, если Вы просмотрите реализацию класса TStringGrid (в файле [Delphi]SourceVclGrids.pas), то увидите, что никаких дополнительных обработчиков сообщений в нем нет. Обработчик сообщения WM_GETTEXT унаследован классом TStringGrid от класса TControl.
Т.е. Вам либо придется создавать собственный компонент, унаследованный от TStringGrid, обрабатывающий пользовательские сообщения (см. WM_USER), либо программа, содержащая StringGrid, должна передавать каким-либо образом данные из него второй программе (можно опять же с помощью пользовательских сообщений, например).

Успехов!
---------
Все должно быть сделано настолько просто, насколько это возможно. Но не проще. (с) А.Эйнштейн
Ответ отправил: Denisss (статус: Профессор)
Россия, Москва
ICQ: 281599577
----
Ответ отправлен: 27.07.2008, 12:30
Оценка за ответ: 4
Комментарий оценки:
Спасибо за ответ конечно.
Но видно я совсем безнадежен потому как все равно не совссем понял,
как можно подоставать данные из чужого приложения из StringGrida
т.е. я так понял что реализовать поячеичное изъятие информации
из чужого StringGrida нереализуемо :(


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.0 alpha от 21.07.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное