www.map-info.ru :: Просмотр темы - Дубль окна в Word
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
Alex_Y



Зарегистрирован: 28.11.2008
Сообщения: 122

СообщениеДобавлено: Пт Ноя 28, 2008 1:25 pm    Заголовок сообщения: Дубль окна в Word Добавить ответ со ссылкой на данный текст

Привет всем.

Никак не могу победить такую вещь. В МИ, с помощью комманды "Дубль окна" можно перетащить выбранное окно в MS Word. Причем перетаскивается туда объект Mapinfo.Map, который можно при двойном нажатии отредактировать.

Вопрос, как такую вещь сделать программно?

Делаю все через делфи.
Пока в голове только два варианта:
1. Создать в ворде объект, открыть в нем нужный рабочий набор (можно получить из WindowInfo). Но проблема в том, что я не могу найти описание методов Mapinfo.Map, как оказалось это не Mapinfo.Application и открыть в нем что-то кроме таблицы у меня не получилось.

2. Вся эта ботва у МИ без проблем проходит через буффер обмена, поэтому, можно, по идее скопировать окно в буффер, а потом в ворде его вставить. Но тут возникает проблема, как программно это окно в МИ скопировать в буффер?

Ну есть еще и треттий, не совсем подходящий вариант, но все же, а именно, вставлять в ворд изображение окна. Однако при программном экспорте (я тружусь в MB 5.5) нельзя изменить dpi изображения, поэтому в ворде качество совсем не гуд.

Возможно есть какой то другой путь, о котором у меня ума додуматься не хватило. В общем, буду признателен всем кто поможет в решении данной задачи.

Заранее спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Андрей Могильный



Зарегистрирован: 21.03.2006
Сообщения: 864

СообщениеДобавлено: Пн Дек 01, 2008 4:11 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Ответы на каждый вариант:
1) Импортируй библиотеку типов (Type Library) от MapInfo.Map в Delphi
и посмотри какие методы есть у этого объекта.
2) Run Menu Command M_EDIT_COPY
3)
Save Window window_id
As filespec
Type filetype
[ Width image_width [ Units paper_units ] ]
[ Height image_height [ Units paper_units ] ]

Есть Width и Height, есть paper_units. В dpi сам переведешь?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Alex_Y



Зарегистрирован: 28.11.2008
Сообщения: 122

СообщениеДобавлено: Ср Дек 03, 2008 6:53 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

2 Андрей Могильный

1. Спасибо, попробую
2. Пробовал эту комманду, точнее Run Menu Command 203, в окне MapBasic, она работает только для выделенных объектов. Для окна в меню появляется отдельная команда "Копировать окно", вот ее я не нашел
3. Насколько я понимаю dpi отвечает за качество формируемого растра, а width и height за размер охватываемой карты. Увеличивая width и height, или меняя единицы, я меняю масштаб, но не как не качество, инче зачем бы в поздних версиях ввели в комманду Save Window опцию Resolution. Хотя конечно могу и ошибаться
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Андрей Могильный



Зарегистрирован: 21.03.2006
Сообщения: 864

СообщениеДобавлено: Ср Дек 03, 2008 9:46 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

2. А когда нет выделенных объектов? По идее должна копировать карту. Сам не пробовал.
3. Ну dpi - это ж количество точек на дюйм. Т.е. величина, которая является множителем при переводе метрических размеров в пиксели. Попробуй для своей задачи - выгрузи в больших width и heigth и вставь в Word, результат понравится :) Лучше всего экспортировать в EMF конечно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Alex_Y



Зарегистрирован: 28.11.2008
Сообщения: 122

СообщениеДобавлено: Чт Дек 04, 2008 11:18 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Андрей Могильный

Конечно же я все это пробовал, не стал бы тут народ по пустякам беспокоить :)

> 2. А когда нет выделенных объектов? По идее должна копировать карту. Сам не пробовал.
Я тоже так думал, а не хотит :(

> Попробуй для своей задачи - выгрузи в больших width и heigth и вставь в Word, результат понравится :)
Допустим есть окно карты, с подписями, размером 5х5 см. Хочу вставить его в ворд. При экспорте ставлю размер окна в 10 раз больше. В итоге получаю растр размером 50х50. В ворде задаю размер изображения 5х5 - все подписи уменьшаются в 10 раз, т.к. мы растр уменьшаем :)
При использовании dpi, такого не происходит

> 1) Импортируй библиотеку типов (Type Library) от MapInfo.Map в Delphi
Что-то тне получается, для импорта ведь нужен tlb-файл? а он есть только для Mapinfo. Его импортировал, в нем не нашел интерфейса на Map, мож че сделал не так? :(
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Андрей Могильный



Зарегистрирован: 21.03.2006
Сообщения: 864

СообщениеДобавлено: Чт Дек 04, 2008 6:21 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

> Допустим есть окно карты, с подписями, размером 5х5 см. Хочу вставить его в ворд. При экспорте ставлю размер окна в 10 раз больше. В итоге получаю растр размером 50х50. В ворде задаю размер изображения 5х5 - все подписи уменьшаются в 10 раз, т.к. мы растр уменьшаем :)

Подожди-подожди. Ты вначале поставил явно размер 5x5 см (!) А дальше почему-то опустил размер. 50x50 - это в чем? И дальше 5x5?

Смотри, есть картинка 5x5 см в MapInfo, она условно занимает 100x100 пикселей при стандартном разрешнии экрана 96 dpi. Тебе надо в ворде ее размером 10x10 см. Для этого экспортируй ее в размере 200x200 пикселей и вставляй в ворд, масштабируя ее до 10x10 см, все будет верно. Сплошные пропорции.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Alex_Y



Зарегистрирован: 28.11.2008
Сообщения: 122

СообщениеДобавлено: Пт Дек 05, 2008 5:28 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Андрей Могильный

все считаю в сантимертах

как раз задача стоит сделать так - есть в МИ окно 5 на 5, и вставить в ворд нужно 5 на 5. Если вставляю один к одному, то получаю 96 дпи, для получения 300 дпи, я width и height умножаю на 3.125, но при этом у меня размер изображения в ворде станет 15.625см при 96 дпи, так? далее, в ворде вставленную картинку я уменьшаю до размера 5 на 5, получаю свои 300 дпи, но, происходит уменьшение картинки, а соответственно и масштабирование объектов на ней. Все бы ничего, можно в МИ например изменить размер окна в 3.125 раза, тогда масштаб объектов в ворде будет тот который надо, только размер подписей при изменении окна не изменится, а поэтому при уменьшении размера картинки, их размер в ворде тоже уменьшится. Толщина линий, кстати, тоже меняется, а это не есть хорошо :(
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru