Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MB6REFRU.pdf
Скачиваний:
10
Добавлен:
13.02.2015
Размер:
3.83 Mб
Скачать

Оператор Create ButtonPads As Default

Оператор Create ButtonPads As Default

Назначение:

Восстанавливает стандартные инструментальные панели в их начальном положении.

Синтаксис:

Create ButtonPads As Default

Описание:

Оператор убирает все инструментальные панели, построенные приложением, и восстанавливает три стандартные панели в их прежнем виде: Операции, Пенал и Программы.

Использовать оператор Create ButtonPads As Default надо осторожно, так как удаляются и те панели, которые были построены другими приложениями MapBasic.

Смотрите также:

Alter Button, Alter ButtonPad, Create ButtonPad

Справочник MapBasic

111

Оператор Create Cartographic Legend

Оператор Create Cartographic Legend

Новый оператор Create Cartographic Legend позволяет создать и отобразить стиль картографических легенд, также как и тематических легенд для активного окна карты. Каждый стиль картографической и тематической легенды будет связан только с одним окном карты, так что одновременно может быть открыто несколько окон легенды.

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

Ранее в легенда в MapInfo Professional имела вид одного плавающего окна, в котором могло отобразиться только содержимое тематического слоя для активного окна карты. Новое окно легенды размещается теперь вместо текущего окна легенды; таким образом, текущее окно легенды и его функции до сих пор возможны, и вызывается это программным способом, используя существующие операторы MapBasic (например, Create Legend, Set Legend, и др...)

Синтаксис:

Create Cartographic Legend

[ From Window map_window_id ] [ Behind ]

[ Position ( x , y ) [ Units paper_units ] ] [ Width win_width [ Units paper_units ] ] [ Height win_height [ Units paper_units ] ] [ Window Title { legend_window_title }

[ ScrollBars { On | Off } ]

[ Portrait | Landscape | Custom ]

[ Default Frame Title { def_frame_title } [ Font... ] } ]

[ Default Frame Subtitle { def_frame_subtitle } [ Font... ] } ] [ Default Frame Style { def_frame_style } [ Font... ] } ]

[ Default Frame Border Pen [ [ pen_expr ]

Frame From Layer { map_layer_id | map_layer_name } [ Using

[ Column { column | object } ]

[ Label { expression | default } ]

[ Position ( x , y ) [ Units paper_units ] ] [ Title { frame_title [ Font... ] }

[ SubTitle { frame_subtitle [ Font... ] } ] [ Border Pen pen_expr ]

[ Style [ Font...] [ Norefresh ]

[ Text { style_name } { Line Pen... | Region Pen... Brush... | Symbol Symbol... } ] [ , ...]

]

[ , ... ]

map_window_id L это цельночисленный идентификатор окна, который Вы можете получить при вызове функций FrontWindow() и WindowId( ).

x L определяет требуемое расстояние от верхнего края рабочего стола MapInfo до верхнего угла окна

112

Справочник MapBasic

Оператор Create Cartographic Legend

легенды.

y L определяет требуемое расстояние от левого края рабочего стола MapInfo до левого угла окна легенды.

paper_units L это строковая величина, выраженная в бумажных единицах измерения (например “cm” для сантиметров).

win_width L это ширина окна легенды.

win_height L это требуемая высота окна легенды.

legend_window_title L это строковое выражение, соответствующее заголовку окна легенды, по умолчанию это “Legend of xxx” где xxx это заголовок окна карты.

def_frame_title L это строковая величина, определяющая заголовок раздела легенды по умолчанию. Эта величина может включать специальный символ “#”, который будет замещаться именем текущего слоя.

def_frame_subtitle L это строковая величина, определяющая подзаголовок раздела легенды по умолчанию. Эта величина может включать специальный символ “#”, который будет замещаться именем текущего слоя.

def_frame_style L это строковая величина, которая указывает на тип каждого объекта в каждом разделе. Символ ”#” будет замещаться именем текущего слоя. Символ % будет замещаться словами “Line”, “Point, “Region”, которые будут соответствовать типу географическизх объектов. Например, “% of #” будет соответствовать тексту “Region of States” для слоя states.tab.

pen_expr L это выражение Pen, соответствующее MakePen( ширина, стиль, цвет ). Если по умолчанию атрибуты линии для рамки определены, то они и будут атрибутами линии для рамки раздела легенды. Если предложение, определяющее атрибуты линии для рамки легенды существует, то эти атрибуты и будут использоваться вместо атрибутов, заданных по умолчанию.

map_layer_id или map_layer_name определяют слой карты; это может быть целая величина Smallint (например, используйте 1 для определения самого верхнего слоя, не считая косметического) или строковая величина, соответствующая имени таблицы, отображенной на карте. Для тематического слоя необходимо определить map_layer_id.

frame_title L это строковая величина, определяющая заголовок раздела легенды. Если эта величина определена, то именно она будет использоваться вместо имени, задаваемого по умолчанию величиной def_frame_title.

frame_subtitle это строковая величина, определяющая подзаголовок раздела легенды. Если эта величина определена, то именно она будет использоваться вместо имени, задаваемого по умолчанию величиной def_frame_subtitle.

Column – имя атрибутивной колонки из раздела слоя таблицы, или колонка object (означает, что стили легенды базируются на уникальном стиле). По умолчанию – это object.

Label Lэто выражение или значение, принятое по умолчанию.

style_name L это строковая величина, которая указывает к какому типу объектов относится географический объект: символу, линии, или полигону.

Описание:

Как минимум, требуется задать одно предложение Frame.

Все предложения, относящиеся ко всей легенде (scrollbars, width, и др.) должны соотноситься с

Справочник MapBasic

113

Оператор Create Cartographic Legend

первым предложением Frame.

Предложение From Layer должно бать первым предложением после Frame.

Легенда размещается после окна тематической карты.

Предложение Position контролирует положение окна легенды на рабочем столе. Верхний левый угол рабочего стола MapInfo имеет позицию 0, 0. Предложения Width и Height контролируют размер окна легенды. При позиционировании и указании размеров окна используются бумажные единицы, такие, как “in” (дюймы) или “cm” (сантиметры). MapBasic по умолчанию использует дюймы; в программе MapBasic можно изменить единицы измерения, используя Set Paper Units. Оператор Create Cartographic Legend может переопределить единицы измерения, для этого надо включить подпредложение Units, используемое в предложениях Position, Width или Height.

Используйте предложение ScrollBars чтобы показать или скрыть линейку прокрутки в окне карты.

Portrait или Landscape описывают ориентировку разделов легенды в окне. Книжная ориентировка L это Portrait. Альбомная ориентировка L это Landscape.

Если указано Custom, то Вы можете задать Ваше собственное предложение Position для позиционирования раздела.

Предложение Position определяет позиционирование раздела, если определено предложение Cus4 tom.

Предложения Position, Title, SubTitle, Border Pen и Style для разделов легенды используются только для слоев карты. Они не используются для тематических слоев. Для тематических слоев вся необходимая информация задаётся автоматически при их создании.

Предложение Font определяет стиль текста. Если по умолчанию заголовок раздела, подзаголовок или имя стиля объекта имеют определенный шрифт, то этот же шрифт по умолчанию будет использоваться и для раздела легенды. Если на уровне раздела определены предложения, описывающие заголовок, подзаголовок и стоиль объекта, и в этих предложениях используется предложение Font, то будет использоваться шрифт, заданный этим предложением. Если ни на каком уровне шрифт не определен, то будет применяться текущий шрифт с размером букв 10, 9 и 8 для заголовка, подзаголовка и имени стиля соответственно.

Предложение Style и ключевое слово NoRefresh позволяют Вам создавать собственные разделы легенды, которые не будут изменяться при обновлении легенды. Если ключевое слово NoRefresh используется в предложении Style, то в таблице не будет производиться поиск стилей. Вместо этого, предложение Style должно содержать Ваш список определений для стилей, которые отобразятся в разделе легенды. Это достигается заданием предложения Text и соответствующих предложений

Line, Region или Symbol.

Пример:

Include ”C:\Program Files\MapInfo\MapBasic\mapbasic.def”

Open Table ”C:\Program

Files\MapInfo\Professional\Data\USA\States.tab”

As states Interactive

Open Table ”C:\Program

114

Справочник MapBasic

Оператор Create Cartographic Legend

Files\MapInfo\Professional\Data\USA\City_125.tab”

As cities Interactive

Open Table ”C:\Program

Files\MapInfo\Professional\Data\USA\Us_hiway.tab”

As hiway Interactive

Map From hiway, cities, states

 

Create Cartographic Legend

 

From Window FrontWindow()

 

Behind

 

 

Position (5, 5)

 

Width 5

 

 

Height 3

 

 

Window Title ”Legend of cities,hiway,states Map”

 

ScrollBars On

 

Portrait

 

 

Default Frame Title ”Legend Title”

 

Default Frame Subtitle ”Legend SubTitle”

 

Default Frame Style ”frame style”

 

Font (”Arial”, 10, 12, BLACK, BLUE)

 

Default Frame Border Pen (2,50, BLACK)

 

Frame From Layer 1

 

Title ”Layer1” Font (”Helv”, 10, 20, YELLOW, BLUE)

 

SubTitle ”Layer1 Sub”Font (”Helv”, 3, 10, RED, 100)

 

Border Pen (3, 50, RED)

 

Style Font (”Arial”, 30, 10, RED, YELLOW)

 

Text ”layer1 style1” Line Pen (1, 10, BLACK)

 

Text ”layer1 style2” Region Pen (1, 10, Blue)

 

Brush (5, 10, Red)

 

Text

”layer1 style3” Symbol (35, RED, 36)

 

Frame From Layer 2

 

Title ”Layer2”

 

SubTitle ”Layer2 Sub”

 

Border Pen (2, 3, BLUE)

 

Style Font (”Arial”, 10, 16, BLUE, RED) Norefresh

 

Text ”layer2 style1” Line Pen (1, 100, Blue)

 

Text ”layer2 style2” Region Pen (1, 10, RED)

 

Brush (5, 10, BLUE)

 

Text

”layer2 style3” Symbol (45, BLACK, 24)

 

Frame From Layer 3

 

Title ”Layer3”

 

Справочник MapBasic

115

Оператор Create Cartographic Legend

SubTitle ”Layer3 Sub”

Border Pen (1, 10, RED)

Style Font (”Arial”, 10, 10, BLACK, RED) Norefresh

Text ”layer3 style1” Line Pen (2, 5, Red)

Text ”layer3 style2” Region Pen (1, 10, YELLOW)

Brush (5, 10, Red)

Text ”layer3 style3” Symbol (52, Blue, 18)

Смотри также:

Set Cartographic Legend, Alter Cartographic Frame, Add Cartographic Frame, Remove Cartographic Frame, Create Legend, Set Window, WindowInfo()

116

Справочник MapBasic

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]