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

Оператор Create Arc

Оператор Create Arc

Назначение:

Создает объект типа “дуга”.

Синтаксис:

Create Arc

[ Into { Window window_id | Variable var_name } ] (x1, y1) (x2, y2)

start_angle end_angle

[Pen... ]

где

window_id – идентификатор окна, целое число; var_name – имя объектной переменной;

x1, y1 – координаты одного угла минимального прямоугольного покрытия (МПП), прямоугольника, описывающего дугу;

x2, y2 – координаты противоположного по диагонали угла МПП дуги; start_angle – значение начального угла дуги, в градусах;

end_angle – значение конечного угла дуги, в градусах;

Pen – слово, с которого начинается стандартное предложение для назначения стиля линии.

Описание:

Результатом действия оператора Create Arc является новый объект типа "дуга".

Если оператор использует предложение Into Variable, то созданный объект "дуга" объявляется как значение объектной переменной. Если слово Into указывает окно, объект помещается на подготовленное место в окне (например, в изменяемый слой). Если Into вообще нет в операторе, MapBasic попробует создать дугу в самом верхнем окне. Если это невозможно (например, поверх всех окон лежит окно Графика), то объект не будет создан.

Параметры x и y являются координатами в той системе координат, которая была объявлена до оператора Create Arc, например, оператором Set CoordSys. Если система не объявлялась, то координаты будут принимать значения широты и долготы. При этом надо учесть, что MapBasic игнорирует координатную систему самого окна Карты.

Если объект создается для окна Отчета, параметры x и y интерпретируются как координаты на листе в объявленных ранее единицах измерения листа (смотрите описание оператора Set Paper Units). Так XLкоордината – это расстояние от левого края листа до точки, и YLкоордината – расстояние от верхнего края листа. Перед созданием объекта в окне Отчета не забудьте выполнить оператор Set

CoordSys Layout.

Если в операторе нет предложения Pen, MapBasic, создавая дугу, будет использовать установку соответствующего режима для стиля линии в MapInfo (стиль линии можно изменить командой НАСТРОЙКА > СТИЛЬ ЛИНИЙ).

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

Insert, Pen, Update

Справочник MapBasic

107

Оператор Create ButtonPad

Оператор Create ButtonPad

Назначение:

Создает инструментальную панель. Синтаксис:

Create ButtonPad { title_string | ID pad_num }

As button_definition [ button_definition ... ] [ Title title_string ]

[ Width w ]

[ Position (x, y) [ Units unit_name ] ] [ ToolbarPosition ( row , column ) ]

[ { Show | Hide } ]

[ { Fixed | Float } ]

где

title_string – заголовок инструментальной панели;

pad_num – идентификатор стандартной инструментальной панели (1 – для панели "Операции", 2 – для панели "Пенал", 3 – для панели "Программы", 4 – ”Команды”, 5 – “ODBC”);

w – ширина панели в количестве кнопок, которые можно разместить по горизонтали; x, y – координаты верхнего левого угла панели в "бумажных" единицах измерения; unit_name – имя "бумажной" единицы (например, "in" – дюйм, "cm" – сантиметр);

row, column – координаты инструментальной панели, когда она находится в прикрепленном состоянии (docked); например, координаты 0, 0 означают расположение строки инструментов прижатой к левому и верхнему краям рабочего окна, а 0, 1 задают положение панели второй строкой).

Каждый параметр button_definition может быть либо ключевым словом Separator, либо конструкцией следующего синтаксиса:

{ PushButton | ToggleButton | ToolButton }

Calling { procedure | menu_code | OLE methodname | DDE server , topic } [ ID button_id ]

[ Icon n [ File file_spec ] ]

[ Cursor n [ File file_spec ] ] [ DrawMode dm_code ]

[ HelpMsg msg ]

[ ModifierKeys { On | Off } ] [ Enable | Disable ]

[ Check | Uncheck ]

где

procedure – обработчик, вызываемый нажатием на кнопку. Обработчиком может быть subLпроцедура или стандартный в MapInfo код (например, M_FILE_OPEN из MENU.DEF);

menu_code – стандартный в MapInfo код команды из MENU.DEF (например, M_FILE_OPEN); MapInfo начнет выполнение команды, как только пользователь нажмет на кнопку;

methodname – строковая величина, задающая имя OLELметода;

server, topic – строковая величина, задающая DDELсервера и имя темы (topic).

Предложение ID button_id задает кнопке уникальный номер, который можно будет потом использовать как ее идентификатор, в случае, если несколько кнопок вызывают один обработчик, а также в операторе Alter Button.

108

Справочник MapBasic

Оператор Create ButtonPad

Предложение Icon n задает картинку, которая будет на кнопке. Здесь n может быть одним из специальных кодов из файла ICONS.DEF (например, MI_ICON_RULER). Подпредложение File file_spec задает файл ресурсов изображений, в этом случае параметр n должен быть целочисленным идентификатором одного из ресурсов файла file_spec.

Предложение Cursor n задает форму, которую примет указатель мыши после выбора кнопки. Здесь n может быть одним из специальных кодов из файла ICONS.DEF (например, MI_CURSOR_ARROW). Это предложение может входить в описание кнопки инструмента (тип ToolButtons). Подпредложение File file_spec задает файл ресурсов изображений, в этом случае параметр n должен быть целочисленным идентификатором одного из ресурсов файла file_spec.

Предложение DrawMode dm_code задает возможность инструмента рисовать (использование возможности передвигать мышку с нажатой клавишей) или только указывать (использование только возможности нажимать на клавишу мышки), при этом параметр dm_code должен быть одним из специальных кодов из файла ICONS.DEF (например, DM_CUSTOM_LINE). Это предложение может входить в описание кнопки инструмента (тип ToolButtons).

Предложение HelpMsg msg задает текст подсказки, которая появляется в строке сообщений при указании на кнопку, а таже может задавать текст для плавающей подсказки ToolTip. Первая часть строки msg используется строкой сообщений. Если величина msg включает в себя литеры \n, то текст, следующий за ними, используется подсказкой ToolTip. Параметр msg должен иметь тип String.

Предложение ModifierKeys управляет использованием клавиш SHIFT и CTRL в режиме рисования, сопровождающемся прорисовковкой образа объекта ("rubberband"), инструментом кнопки типа ToolButton. По умолчанию используется режим Off, не использующий клавиши SHIFT и CTRL.

Описание:

Оператор Create ButtonPad создает новую инструментальную панель. Созданную панель Вы можете по ходу выполнения программы изменять при помощи операторов Alter Button и Alter But4 tonPad.

Инструментальная панель может прятаться. Для создания инструментальной панели в скрытом состоянии используйте ключевое слово Hide.

Инструментальная панель может показываться на экране в одном из двух состояний: плавающем (“floating”) – в виде вспомогательного окна и строкой (“docked”) – вытянутой в полоску и прижатой к верхнему краю рабочего окна. Если Вы хотите, чтобы созданная панель была зафиксирована у верхнего края окна, то используйте ключевое слово Fixed. Для показа панели вспомогательным окном используется слово Float.

Если панель плавающая, то ее положение на экране задается предложением Position. Если панель показывается сторокой, то предложением ToolbarPosition.

Другую информацию об инструментальных панелях смотрите в описании оператора Alter Button4 Pad. Инструментальные панели также описаны в 6 главе Руководства пользователя MapBasic.

Режимы предложения Calling

Предложение Calling задает, что должно случиться, если пользователь нажмет на кнопку инструментальной панели. Приведем возможные примеры использования этого предложения:

Примеры

Описание

 

 

Справочник MapBasic

109

Оператор Create ButtonPad

Calling

M_FILE_NEW

Если за словом Calling идет целочисленный код из

 

 

файла MENU.DEF, MapInfo запускает на выполнение

 

 

соответствующую стандартную команду MapInfo

 

 

(например, ФАЙЛ > НОВАЯТАБЛИЦА).

 

 

 

Calling

my_procedure

Если задано имя subLпроцедуры, MapInfo передает

 

 

управление этой процедуре. Эта процедура должна

 

 

быть частью программы MapBasic, создавшей эту

 

 

инструментальную панель.

Calling OLE ”methodname”

Только для Windows. MapInfo управляет событиями,

 

 

обращаясь с именем метода к объекту OLE Automation,

 

 

усановленному SetCallbackLметодом MapInfo. Детали

 

 

смотрите в 12 главе Руководства пользователя MapBa

 

 

sic.

 

 

Calling DDE ”server”,”topic”

Только для Windows. MapInfo управляет событиями,

 

 

присоединясь через DDE к паре “сервер|тема” и

 

 

посылая выполняемое сообщение на DDELсервер.

 

 

 

В последних двух случаях строка послания для OLE или DDE сервера должна начинаться с трех символов “MI:” для того, чтобы сервер смог определить, что послание пришло от MapInfo. Остальная часть этой строки состоит из разделенного запятыми списка значений возврата функций с Com4 mandInfo(1) по CommandInfo(8). Детали читайте в 12 главе Руководства пользователя MapBasic.

Пример:

Create ButtonPad "Новые Кнопки" As

PushButton

HelpMsg "Нажмите на эту кнопку для вывода диалога запроса"

Calling button_sub_proc

Icon MI_ICON_ZOOM_QUESTION

ToolButton

HelpMsg "Используйте этот инструмент для рисования

нового маршрута"

Calling tool_sub_proc

Icon MI_ICON_CROSSHAIR

DrawMode DM_CUSTOM_LINE

ToggleButton

HelpMsg "Переключение показа расстояний" Calling toggle_prox_check

Icon MI_ICON_RULER Check

Title "Средства" Width 3

Show

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

Alter Button, Alter ButtonPad

110

Справочник MapBasic

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