Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
valter
Зарегистрирован: 09.11.2010 Сообщения: 8
|
Добавлено: Пт Мар 04, 2011 2:28 pm Заголовок сообщения: Большие проблемы с программой для раскраски болот |
|
|
Здраствуйте, возникли следующие вопросы:
Как поймать номер окна(hwnd) геоинформации
Дочернее ли оно для окна Мапинфо или порождённое
Каким образом можно отправить в него нажатие клавиши
Может ли Set Command Info установить значение cmd_info_ok для какого либо "родного" окна
Можно ли изменить положение области не пребирая всех её точек(не изменяя поточечно координаты всех узлов объекта).
Буду рад любой информации по этому вопросу. |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Пт Мар 04, 2011 9:59 pm Заголовок сообщения: |
|
|
Геоинформация - это по F7? Это диалоговое модальное окно, оно неуправляемо из MapBasic.
Про область - только перебор, как же еще? |
|
Вернуться к началу |
|
|
Alex_Y
Зарегистрирован: 28.11.2008 Сообщения: 122
|
Добавлено: Сб Мар 05, 2011 8:05 am Заголовок сообщения: |
|
|
Функция API FindWindow() возвращает hwnd окна, но как было сказано выше, это модальное окно, поэтому из Мапинфо вы к нему доступ не получите, только из другого приложения. Вопрос, зачем это нужно? Гораздо проще написать свое такое-же окно, только с нужными вам функциями. |
|
Вернуться к началу |
|
|
valter
Зарегистрирован: 09.11.2010 Сообщения: 8
|
Добавлено: Вт Мар 08, 2011 2:18 pm Заголовок сообщения: |
|
|
Как раз из под своего приложения и необходимо обратиться к окну геоинформации, для того чтобы двигать объект "за центроид" а не по точкам, с передачей координат в окно проблем не возникло а вот с тем чтобы нажать на кнопку ОК - беда, если кто нибудь напишет кусочек кода на с++ иллюстрирующий процесс нажатия кнопочки в этом самом окне буду очень благодарен. |
|
Вернуться к началу |
|
|
valter
Зарегистрирован: 09.11.2010 Сообщения: 8
|
Добавлено: Вт Мар 08, 2011 2:21 pm Заголовок сообщения: |
|
|
Пробовал ловить номер активного окна через Getforegroundwindow() но тот всегда возвращает 0, никак не могу разобраться. |
|
Вернуться к началу |
|
|
Arhara
Зарегистрирован: 18.02.2009 Сообщения: 400 Откуда: Moscow, RF
|
Добавлено: Пт Мар 11, 2011 3:35 am Заголовок сообщения: |
|
|
так что вам все таки нужно: окно? послать ОК? центроид? или объект сдвинуть? |
|
Вернуться к началу |
|
|
valter
Зарегистрирован: 09.11.2010 Сообщения: 8
|
Добавлено: Пн Мар 14, 2011 5:26 am Заголовок сообщения: |
|
|
Необходимо послать ОК в окно геоинформации, с центроидом и движениями объекта уже разобрался. |
|
Вернуться к началу |
|
|
Arhara
Зарегистрирован: 18.02.2009 Сообщения: 400 Откуда: Moscow, RF
|
Добавлено: Пн Мар 14, 2011 4:19 pm Заголовок сообщения: |
|
|
на сколько я понмню, во windows реализован принцип подчиненных окон. с учетом того, что получить номер главного окна и всех карт можно стандартными функциями, выявить новое окно, которое появилось после вызова геоинформации не должно быть сложно.
хотя как уже говорилось выше - не очень понятна цель. свое аналогичное и понятней и лучше управляемо. |
|
Вернуться к началу |
|
|
valter
Зарегистрирован: 09.11.2010 Сообщения: 8
|
Добавлено: Ср Мар 16, 2011 12:34 pm Заголовок сообщения: |
|
|
Всё тему можно закрывать, разобрался. |
|
Вернуться к началу |
|
|
Hirurg
Зарегистрирован: 25.05.2010 Сообщения: 14 Откуда: Астрахань
|
Добавлено: Пт Апр 22, 2011 2:46 pm Заголовок сообщения: |
|
|
А вы точно разобрались, что вам надо двигать?
Центроид или геометрический центр объекта?
Я не давно убедился, что это очень большая разница)))
Забыл геометрию и вляпался))) |
|
Вернуться к началу |
|
|
|