Помещение карт в OLE-программы




Цель работы: научиться помещать специальные OLE-объекты из одной программы в другую.

 

В этой работе мы научимся помещать карты из MapInfo в другие программы, поддерживающие OLE – протокол. В частности в MS Word и Excel.

 

OLE (англ. Object Linking and Embedding, произносится как oh-lay [олэй]) — технология связывания и внедрения объектов в другие документы и объекты, разработанные корпорацией Майкрософт.

 

OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты назад. Основное преимущество использования OLE (кроме уменьшения размера файла) в том, что она позволяет создать главный файл, картотеку функций, к которой обращается программа. Этот файл может оперировать данными из исходной программы, которые после обработки возвращаются в исходный документ. Вторая версия этого протокола называется ActiveX, которая активно используется в Интернет-браузерах для просмотра мультимедиа.

 

Способность MapInfo использовать OLE-внедрения превратит Ваше приложение, такое как текстовый процессор или электронная таблица, в "мини-MapInfo". Вы сможете создавать, просматривать, редактировать и печатать карты для подготовки презентаций или печатных отчетов. Это становится возможным при помощи механизма OLE-внедрения объектов. Приложение-сервер (здесь MapInfo Professional) поставляет информацию, которая принимается в приложении-клиенте. Использование функций внедрения MapInfo Professional позволяет вам поместить окно карты в любое приложение, поддерживающее объекты OLE, и работать с этим окном непосредственно из приложения.

 

Поскольку объекты MapInfo Map представляют собой действующие OLE-объекты, то, на самом деле, вы в фоновом режиме запускаете MapInfo Professional. Когда активна карта приложения-контейнера, меню этого приложения изменится и будет представлять собой меню доступных этому приложению команд и функций MapInfo Professional. Подмножество команд и функций получило название MapInfo Map (Некоторые приложения OLE-контейнеры создают отдельное окно для редактируемого объекта). По щелчку мыши или по команде меню вы получите доступ к функциональности MapInfo Professional непосредственно в приложении, в котором вы работаете.

 

Откройте в MapInfo файл RUS_OBL.tab, создайте в своей папке с работами пустые документы Word и Excel, откройте их.

Есть несколько способов помещения карт из MapInfo в другие программы. В нашем примере это Word и Excel.

Щелкните на пустом месте на карте в MapInfo, чтобы ни один объект не был выбран, зайдите в меню «Правка – Копировать карту» (если выбран объект на карте, пункт будет недоступен), перейдите в документ Excel, нажмите Ctrl+V или правой кнопкой мыши – вставить.

Вставится карта.

Теперь дважды щелкните на ней левой кнопкой мыши. Верхнее меню изменилось, теперь вы работаете не с Excel, а с MapInfo, хотя и урезанным вариантом.

 

Здесь можно открыть другую таблицу, управлять слоями, создать тематическую карту, получить информацию об объектах. Щелкните на место вне карты и перед нами снова интерфейс Excel.

Теперь попробуем тоже самое сделать в Word. Перейдите в документ Word и вставьте таким же образом карту из буфера обмена – она почему-то вставится как картинка, а не как OLE-объект. Если попробовать другой способ вставки через меню «Правка – Специальная вставка – MapInfo Map (объект)», то выдаст ошибку:

 

В таких случаях есть способ, который вставит карту из MapInfo как OLE-объект.

В программе есть инструмент «Дубль окна»

Сначала сверните окна MapInfo и Word, чтобы они были видны рядом одновременно, потом нажмите на инструмент «Дубль окна», левой кнопкой мыши перетащите окно карты в окно документа Word, дважды щелкните по возникшей карте – теперь ее можно редактировать, т.е. выполнять те немногочисленные действия, что и в предыдущий раз в Excel.

 

Есть еще способ вставки OLE-объектов в документы Word и Excel.

Находясь в документе упомянутых программ, зайдите в меню «Вставка – объект», вам покажет список программ, установленных на компьютере, из которых возможно принять OLE-объект:

Выберите в нем MapInfo 9.0.0 Map объект и нажмите «ок».

 

Появится контейнер с пустым пока объектом MapInfo, при двойном щелчке на который будет доступно его редактирование

 

Откройте в нем таблицу RUS_BORD.tab

Щелкните мышью за пределами объекта, чтобы сделать его неактивным.

Теперь щелкните правой кнопкой мыши по объекту и выберите в контекстном меню «Объект MapInfo Map – Преобразовать». В этом меню можно преобразовать большое окно карты в значок, при двойном щелчке на который откроется всё та же карта. Для обратного преобразования можно проделать ту же операцию, только снять галочку «В виде значка» и изменить размеры карты на бОльшие.

 

Это может быть удобно в некоторых случаях, чтобы сэкономить место на странице.

Объекты из OLE-программ перетаскиваются мышью в другие программы-клиенты с помощью особых инструментов, которые находятся в программе-сервере (например, MapInfo и инструмент «Дублировать окно»), либо просто через буфер обмена (копировать-вставить), либо мышью, зажав клавишу Ctrl (появится знак + под курсором).

Такой подход называется Drag-and-Drop и используется почти во всех современных windows-приложениях.

На этом работа закончена. В итоге у вас должно быть два документа – один Excel с картой России, один Word с картинкой карты, вставленной картой через «Дубль окна» и со значком карты, вставленной из меню Word «Вставка». Перед сдачей работы вспомните, что такое OLE, OLE-объекты, где используются. Подумайте, что вы увидите, если вставив OLE-объект на этом компьютере в документ Word, принесете его домой, где не установлена программа MapInfo?

Лабораторная работа № 8



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: