| Клуб программистов Лучшая подборка книг и информации по программированию. |
-
Работа с MapInfo. Переподчинение окон MapInfo
Написано 28.07.2009 11:56 4 комментариевПосле запуска MapInfo используйте оператор Set Application Window языка MapBasic для обеспечения перехвата управления Вашей программой-клиентом диалоговых окон и сообщений об ошибках программы MapInfo.
Затем, в желаемой точке включения окна MapInfo в Ваше приложение передайте MapInfo оператор Set Next Document, за которым следует MapBasic-оператор, создающий окно.
Оператор Set Next Document позволяет Вам “переподчинять” окна документов. Синтаксис этого оператора требует указания уникального номера HWND элемента управления в Вашей программе. При последующем создании окна-документа MapInfo (с использованием операторов Map, Graph, Browse, Layout или Create Legend) создаваемое окно становится для окна порождающим объектом.
Примеры приведены из компонента но тоже самое можно выполнить и метолом Do непосредственно, но вы это уже я думаю понялиExecuteCommandMapBasic(’Set Application Window %D’, [FOwner.Handle]);
ExecuteCommandMapBasic(’Set Window Info Parent %D’, [FOwner.Handle]);
ExecuteCommandMapBasic(’Set Next Document Parent %D Style 1′, [FPanel.Handle]);Примечание:
В компоненте это реализовано процедурой WindowMapDef которая ссылается на панель заданную свойством PanelMap.
Для каждого переподчиняемого окна необходимо передать программе MapInfo из Вашей программы пару операторов – оператор Set Next Document Parent, а затем оператор, создающий окно. После создания окна Вам может понадобиться запросить из MapInfo значение функции WindowID(0) – целочисленный ID-номер окна (Window ID) в MapInfo, так как многие операторы языка MapBasic требуют задания этого номера. Этот запрос выполняется на основе компонента следующим образом:
WindowID := Eval(’WindowID(%D)’,[0]).AsInteger;Заметьте, что даже после переподчинения окна Карты, MapInfo продолжает управлять им. клиентская программа может не обращать внимания на сообщения о перерисовке, реализацию данной особенности я оставлю на потом.
Автор: Дмитрий Кузан
4 responses to “Работа с MapInfo. Переподчинение окон MapInfo”

-
Круто, спасибо!
-
Kikillkinrel Июль 29th, 2009 в 16:03
Давно искала эту информацию, спасибо.
-
hotspotshield Июль 30th, 2009 в 13:31
Мне кажется очень полезная штука.
-
Derika Август 9th, 2009 в 19:44
спасибо за статейку
-


Sashkalinka Июль 28th, 2009 в 18:19