![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 04.06.2007
Сообщений: 2
|
![]()
Здравствуйте. Извиняюсь сразу, если на форуме уже есть ответ на этот вопрос , но я не нашел, то что мне надо.
проблема такая: Есть окно в чужой программе - класс TExecDBgrid. Я начинаю только с АПИ работать и меня хватило только на то чтобы присвоить это окно переменной типа HWND. Могу закрыть-открыть и т.д. А мне надо проанализировать содержимое ячеек. Можно как-нибудь с этим окном работать, как с DBgrid? Чтоб можно было иметь Col, row и т.п.? Или это не возможно? |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 08.04.2007
Сообщений: 15
|
![]()
В виндоусе с каждым выдимым объектом (окном) ассоциируется строковая константа, которая задаётся при создании этого объекта и доступна для сторонних приложений. Получить и изменить её можно с помощью GetWindowText() и SetWindowText(). В некоторых случаях эта константа напрямую связана с изображением объекта, как то метки, заголовки окон, поля ввода и подобные элементики. Если текстовое содержимое объекта не связано с этой константой, что имеет место быть в вашем, iron, случае, то получить его никак нельзя (если конечно не вторгаться в память чужого процесса).
Практика - лучший критерий истины. К.Маркс.
|
![]() |
![]() |
![]() |
#3 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Get/setwindowtext тут вообще ни при чём.
Стандартных сообщений (типа как для list- и combobox, LB_* и CB_*) для работы с такой фигнёй винде нет, наверняка он работает с WM_USER, знач единственный выход пошпионить за той прогой прогой, где он находится, перехватывать сообщения, и разбиратся, как он реагирует на WM_USER+... Кстати чё за программа?
пыщь
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 08.04.2007
Сообщений: 15
|
![]()
Интересно, а как это можно сделать? Я имею ввиду, как узнать, как программа реагирует на WM_USER+. Если вас не затруднит, JTG, выложите какой-нибудь пример на эту тему.
Практика - лучший критерий истины. К.Маркс.
|
![]() |
![]() |
![]() |
#5 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Да вот хотя б этим http://www.firststeps.ru/mfc/steps/r.php?47
Ещё в папке bin дельфы лежит довольно древняя прога (не помню название), тоже перехватывает сообщения окон. Запускаешь прогу, где этот grid проклятый, находишь монитором окно, делаешь чё-то, чтоб в него, к примеру, добавилась строка и смотришь, что за сообщение было ей передано в этот момент, и соотв. lparam, wparam. Выделяешь мышей клетку - снова записываешь, какое сообщение, и т.д. Скорее всего это будет WM_USER+что-то (хотя может этот компонент и не использует сообщения windows, тады ой ![]()
пыщь
Последний раз редактировалось JTG; 15.06.2007 в 12:45. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 31.05.2007
Сообщений: 56
|
![]()
Если контрол кастомный, то скорее всего единственное сообщение, которое ему нужно - это WM_PAINT (ну и парочка для работы со сролами
![]() |
![]() |
![]() |
![]() |
#7 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
ПРОГУ В СТУДИЮ!!! (если это не exel O_o)
пыщь
|
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 04.06.2007
Сообщений: 2
|
![]()
Товарищи! Извиняюсь, что долго отсутствовал - у меня дочь родилась ну и таво...
![]() ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Одно без другого | Принц | Свободное общение | 2 | 30.05.2008 22:50 |
Размер окна в зависимости от размера окна | Reverent | JavaScript, Ajax | 1 | 02.02.2008 15:49 |
закрыть все дочерни окна, кроме главного окна | Worms | Общие вопросы Delphi | 2 | 03.12.2007 22:18 |
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? | dimonchuk | Общие вопросы Delphi | 1 | 11.08.2007 12:13 |