Глава 9: Графические объекты
MapBasic Руководство пользователя
195
Переменные стилей
В MapBasic имеются переменные стилей следующих типов: Pen, Brush,
Symbol и Font, что соответствует стилям графических объектов.
Присвоить значение переменной стиля можно четыремя способами:
•Создать стиль с помощью MakePen( ), MakeBrush( ),
MakeSymbol( ), MakeFont( ), MakeCustomSymbol( ) или
MakeFontSymbol( ), а затем присвоить его переменной стиля.
Перечисленные функции позволяют явно задать нужный стиль.
Так, в программе SCALEBAR из набора примеров MakeBrush( )
используется для построения штриховок из черного и белого
цветов, которые используются для рисования шкалы.
•Вызвать CurrentPen( ), CurrentBrush( ), CurrentSymbol( ) или
CurrentFont( ) и присвоить значение функции переменной
стиля. Указанные функции возвращают текущие стили (т.е. те
стили, которые показываются в диалогах MapInfo Н
АСТРОЙКА >
С
ТИЛЬ ЛИНИЙ, СТИЛЬ ОБЛАСТЕЙ, СТИЛЬ СИМВОЛОВ И СТИЛЬ
ТЕКСТА, когда ни один графический объект не выбран).
•Вызвать ObjectInfo( ), определить с ее помощью стиль
некоторого объекта и присвоить этот стиль переменной.
• Открыть диалог, в котором пользователь мог бы выбрать тот или
иной стиль. В любом диалоге, содержащем кнопку PenPicker,
BrushPicker, SymbolPicker или FontPicker, пользователь может
выбрать стиль, указав мышью на такую кнопку. Подробно
диалоги описаны в главе 6.
Следующий пример демонстрирует, как создать стиль Pen с помощью
обращения к функции MakePen( ). Значение стиля Pen присваивается
переменной типа Pen.
Dim p_var as Pen
p_var = MakePen(1, 10, RGB(128, 128, 128))
Аргументы функции MakePen( ) определяют стиль линии: 1 означает,
что толщина линии составляет один пиксел; 10 задает номер шаблона
(dotted); а функция RGB( ) определяет цвет. Подробнее эти три
параметра, с помощью которых создается стиль линий (со списком всех
шаблонов линий), описаны в разделе "Предложение Pen" в
Справочнике MapBasic. Аналогично, создание стилей Brush, Font и
Symbol описано в разделах, описывающих предложения Brush , Font и
Symbol в Справочнике MapBasic.
В следующем примере показано, как присвоить переменной типа Pen
стиль линии одного из существующих объектов:
p_var = ObjectInfo(obj_var, OBJ_INFO_PEN)