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

Оператор Alter Cartographic Frame

Оператор Alter Cartographic Frame

Назначение:

Оператор Alter Cartographic Frame изменяет положение, заголовок, подзаголовок, рамку и стиль существующего раздела легенды, созданной оператором Create Cartographic Legend. (Для изменения размера, позиции или заголовка окна легенды, используйте оператор Set Window.)

Синтаксис:

Alter Cartographic Frame

[ Window legend_window_id ] Id { frame_id }

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

[ SubTitle [ frame_subtitle ] [ Font... ] ] [ Border Pen... ]

[ Style [ Font... ]

[ ID { id } Text { style_name } ] [Line Pen... | Region Pen... Brush...

| Symbol Symbol... ] ] [ , ... ]

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

frame_id L это индекс ID раздела легенды. Вы не можете использовать здесь имя слоя. Например, три раздела легенды могут иметь индексы ID 1, 2 и 3.

frame_title L это строковая величина, определяющая заголовок раздела легенды. frame_subtitle L это строковая величина, определяющая подзаголовок раздела легенды.

id L это положение внутри списка стилей для данного раздела. В настоящее время нет функций MapBasic, которые могут дать информацию о номере стиля в разделе легенды.

style_name L это строковая величина, которая отображает следующий за каждым символ для раздела с указанным индексом ID. Символ ”#” будет замещаться именем слоя. Символ % будет замещаться текстом “Линия”, “Точка, “Полигон”, в соответствии с типом символа. Например, “% of #” будет заменено на “Region of States” для раздела легенды, соответствующей слою states.tab.

Описание:

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

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

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

Create Cartographic Legend, Set Cartographic Legend, Add Cartographic Frame, Remove Carto4 graphic Frame

Справочник MapBasic

19

Оператор Alter Control

Оператор Alter Control

Назначение:

Изменяет состояние элемента диалога, составленного приложением.

Синтаксис:

Alter Control id_num

[ Title { title | From Variable array_name } ] [ Value value ]

[ { Enable | Disable } ] [ { Show | Hide } ]

[ Active ]

где

id_num – целочисленный идентификатор одного из элементов активного диалога в активном диалоге;

title – новый заголовок для элемента диалога, строковая величина;

array_name – имя или массив величин, используемый для элементов типа ListBox, MultiListBox,

RadioGroup и PopupMenu;

value – новое значение для элемента диалога.

Предупреждение:

Вы не можете использовать этот оператор в окне MapBasic.

Описание:

Оператор Alter Control изменяет атрибуты элемента активного диалога, окно которого было открыто оператором Dialog. Применение оператора возможно только пока диалоговое окно открыто, т. е. в специальной подпрограмме, называемой процедуройLобработчиком элемента диалога, вызов которой учитывается при создании диалога. Если на экране находятся два или более диалоговых окон, то оператор воздействует на активное окно, которое лежит поверх остальных.

Параметр id_num определяет элемент диалога, который будет изменяться. Значение параметра соответствует значению одноименного параметра в операторе Dialog при создании элемента (предложение ID id_num).

Изменение состояния и атрибутов элемента диалога производится при помощи предложений Title, Value, Enable/Disable, Hide/Show, Active. Оператор может использовать либо одно из этих предложений, либо одновременно несколько, либо все. То есть одновременно оператор Alter Control может изменить имя, значение и режим доступа элемента диалога.

Однако, не все атрибуты могут меняться для каждого типа элемента диалога. Например, для элемента StaticText не может быть изменен режим доступа, или присвоено значение, так как этот элемент таких атрибутов не имеет. Элемент типа Button, напротив, эти атрибуты имеет, поэтому они могут меняться оператором Alter Control.

Предложение Title назначает текст для большинства элементов (исключение составляют элементы типа Picker и EditText; текст элемента EditText определяется значением через предложение Value). Если Вы меняете текстовый атрибут для элементов типа ListBox, MultiListBox, RadioGroup или PopupMenu, предложение Title From Variable может читать новое содержимое элемента из строкового массива переменных.

20

Справочник MapBasic

Оператор Alter Control

Ключевое слово Active используется только для элемента EditText. Оператор Alter Control... Active помещает курсор в текстовое окошко элемента.

Ключевое слово Hide прячет элемент, оставляя пустое место в окне диалога на его месте. Показать вновь элемент можно, используя ключевое слово Show.

Для полной отмены выбора в списке элемента MultiListBox определите значение элемента (параметр value) равным нулю. Для того, чтобы добавить к текущему выбору в списке элемента Mul4 tiListBox еще одну строку, выполните оператор Alter Control с положительным значением, соответствующим номеру строки в списке.

Пример:

Следующая программа создает диалог с двумя флажками и кнопками "OK" и "Отмена" ("Cancel"). Когда диалог открывается, кнопка "OK" не активна (окрашена серым). Кнопка становится доступной пользователю, когда он установит один или оба флажка.

Include "mapbasic.def"

Declare Sub Main

Declare Sub checker

Sub Main

Dim browse_it, map_it As Logical

Dialog

Title "Показать файл"

Control CheckBox

Title "Показать в окне Списка"

Value 0

Calling checker

ID 1

Into browse_it

Control CheckBox

Title "Показать в окне Карты"

Value 0

Calling checker

ID 2

Into map_it

Control CancelButton

Control OKButton

ID 3

Disable

If CommandInfo(CMD_INFO_DLG_OK) Then

'

' ... действие при нажатии кнопки "OK"...

'

End If

End Sub

Sub checker

'Если хотя бы один из флажков установлен,

'кнопка "OK" становится активной; иначе она неактивна.

Справочник MapBasic

21

Оператор Alter Control

If ReadControlValue(1) Or ReadControlValue(2) Then

Alter Control 3 Enable

Else

Alter Control 3 Disable

End If

End Sub

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

Dialog, Dialog Preserve, ReadControlValue( )

22

Справочник MapBasic

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