- •Оператор Add Column
- •Оператор Add Map
- •Оператор Alter Button
- •Оператор Alter ButtonPad
- •Оператор Alter Cartographic Frame
- •Оператор Alter Control
- •Оператор Alter MapInfoDialog
- •Оператор Alter Menu
- •Оператор Alter Menu Bar
- •Оператор Alter Menu Item
- •Оператор Alter Object
- •Оператор Alter Table
- •Оператор AutoLabel
- •Оператор Beep
- •Оператор Browse
- •Предложение Brush
- •Функция ButtonPadInfo( )
- •Оператор Call
- •Функция•CartesianArea( )
- •Функция CartesianBuffer( )
- •Функция CartesianDistance ( )
- •Функция CartesianObjectLen( )
- •Функция CartesianPerimeter( )
- •Функция Centroid( )
- •Предложение CharSet
- •Функция ChooseProjection$()
- •Оператор Close All
- •Оператор Close File
- •Оператор Close Table
- •Оператор Close Window
- •Функция CommandInfo()
- •Оператор Commit Table
- •Оператор Continue
- •Предложения Control Button / OKButton / CancelButton
- •Предложение Control CheckBox
- •Предложение Control EditText
- •Предложение Control GroupBox
- •Предложения Control ListBox / MultiListBox
- •Предложение Control PopupMenu
- •Предложение Control RadioGroup
- •Предложение Control StaticText
- •Функция ConvexHull( )
- •Предложение CoordSys
- •Оператор Create Arc
- •Оператор Create ButtonPad
- •Оператор Create ButtonPads As Default
- •Оператор Create Cartographic Legend
- •Функция CreateCircle( )
- •Оператор Create Ellipse
- •Оператор Create Frame
- •Оператор Create Grid
- •Оператор Create Index
- •Оператор Create Legend
- •Оператор Create Line
- •Оператор Create Map
- •Оператор Create Map3D
- •Оператор Create Menu
- •Оператор Create Menu Bar
- •Оператор Create Object
- •Оператор Create Pline
- •Оператор Create Point
- •Оператор Create Ranges
- •Оператор Create Rect
- •Оператор Create Redistricter
- •Оператор Create Region
- •Оператор Create Report From Table
- •Оператор Create RoundRect
- •Оператор Create Styles
- •Оператор Create Table
- •Оператор Create Text
- •Функция CreateText( )
- •Функция DateWindow( )
- •Оператор DDEExecute
- •Оператор DDEPoke
- •Оператор DDETerminate
- •Оператор DDETerminateAll
- •Оператор Declare Function
- •Оператор Declare Sub
- •Оператор Define
- •Оператор Delete
- •Оператор Dialog
- •Оператор Dialog Preserve
- •Оператор Dialog Remove
- •Оператор Dim
- •Оператор Do Case...End Case
- •Оператор Do...Loop
- •Оператор Drop Index
- •Оператор Drop Map
- •Оператор Drop Table
- •Оператор End MapInfo
- •Оператор End Program
- •Процедура EndHandler
- •Оператор Error
- •Оператор Exit Do
- •Оператор Exit For
- •Оператор Exit Function
- •Оператор Exit Sub
- •Оператор Export
- •Оператор Fetch
- •Оператор Find
- •Оператор Find Using
- •Предложение Font
- •Оператор For...Next
- •Процедура ForegroundTaskSwitchHandler
- •Функция FormatDate$
- •Оператор Function...End Function
- •Оператор Get
- •Оператор Global
- •Оператор Goto
- •Оператор Graph
- •Оператор If...Then
- •Оператор Import
- •Оператор Include
- •Оператор Input #
- •Оператор Insert
- •Функция Int( )
- •Функция IsPenWidthPixels()
- •Оператор Kill
- •Функция LabelFindByID( )
- •Функция LabelFindNext( )
- •Функция Labelinfo( )
- •Оператор Layout
- •Функция LegendFrameInfo( )
- •Функция LegendInfo( )
- •Функция LegendStyleInfo( )
- •Оператор Line Input
- •Процедура Main
- •Функция MakeCustomSymbol( )
- •Функция MakeFontSymbol( )
- •Оператор Map
- •Функция Map3dInfo( )
- •Оператор Menu Bar
- •Функция MenuitemInfoByID( )
- •Оператор Metadata
- •Оператор Note
- •Функция NumAllWindows( )
- •Оператор Objects Check
- •Оператор Objects Combine
- •Оператор Objects Enclose
- •Оператор Objects Erase
- •Оператор Objects Intersect
- •Оператор Objects Overlay
- •Оператор Objects Split
- •Оператор OnError
- •Оператор Open File
- •Оператор Open Report
- •Оператор Open Table
- •Оператор Open Window
- •Оператор Pack Table
- •Предложение Pen
- •Функция PenPattern()
- •Функция PenWidthToPoints()
- •Функция PointsToPenWidth()
- •Оператор Print
- •Оператор Print #
- •Оператор PrintWin
- •Оператор ProgressBar
- •Оператор Put
- •Оператор Randomize
- •Оператор ReDim
- •Оператор Register Table
- •Оператор Reload Symbols
- •Процедура RemoteMapGenHandler
- •Процедура RemoteMsgHandler
- •Оператор Remove Cartographic Frame
- •Оператор Remove Map
- •Оператор Rename File
- •Оператор Rename Table
- •Оператор Reproject
- •Оператор Resume
- •Оператор Rollback
- •Оператор Run Application
- •Оператор Run Command
- •Оператор Run Menu Command
- •Оператор Run Program
- •Оператор Save File
- •Оператор Save Window
- •Оператор Save Workspace
- •Оператор Seek
- •Процедура SelChangedHandler
- •Оператор Select
- •Оператор Server Begin Transaction
- •Оператор Server Bind Column
- •Оператор Server Close
- •Функция Server_ColumnInfo( )
- •Оператор Server Commit
- •Функция Server_Connect( )
- •Оператор Server Create Map
- •Оператор Server Disconnect
- •Функция Server_DriverInfo( )
- •Функция Server_EOT( )
- •Функция Server_Execute( )
- •Оператор Server Fetch
- •Функция Server_GetodbcHConn( )
- •Функция Server_GetodbcHStmt( )
- •Оператор Server Link Table
- •Функция Server_NumCols( )
- •Функция Server_NumDrivers( )
- •Оператор Server Refresh
- •Оператор Server Rollback
- •Оператор Server Set Map
- •Оператор Set Application Window
- •Оператор Set Area Units
- •Оператор Set Browse
- •Оператор Set Cartographic Legend
- •Оператор Set Command Info
- •Оператор Set CoordSys
- •Оператор Set Date Window
- •Оператор Set Digitizer
- •Оператор Set Distance Units
- •Оператор Set Drag Threshold
- •Оператор Set Event Processing
- •Оператор Set File Timeout
- •Оператор Set Format
- •Оператор Set Graph
- •Оператор Set Handler
- •Оператор Set Layout
- •Оператор Set Legend
- •Оператор Set Map
- •Оператор Set Map3D
- •Оператор Set Next Document
- •Оператор Set Paper Units
- •Оператор Set ProgressBars
- •Оператор Set Redistricter
- •Оператор Set Resolution
- •Оператор Set Shade
- •Оператор Set Style
- •Оператор Set Table
- •Оператор Set Target
- •Оператор Set Window
- •Оператор Shade
- •Оператор StatusBar
- •Оператор Stop
- •Функция StyleAttr( )
- •Оператор Sub...End Sub
- •Предложение Symbol
- •Оператор Terminate Application
- •Функция Time()
- •Процедура ToolHandler
- •Оператор Type
- •Оператор UnDim
- •Функция UnitAbbr$( )
- •Оператор Unlink
- •Оператор Update
- •Оператор Update Window
- •Оператор While...Wend
- •Процедура WinChangedHandler
- •Процедура WinClosedHandler
- •Процедура WinFocusChangedHandler
- •Оператор Write #
- •Приложение A: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС
Оператор Alter Object
Оператор Alter Object
Назначение:
Изменяет форму, положение или графический тип существующего объекта.
Синтаксис: |
|
|
Alter Object obj |
|
|
{ Info object_info_code , new_info_value |
| |
|
Geography object_geo_code , new_geo_value |
| |
Node { Add [ Position polygon_num , node_num ] ( x, y ) |
Set Position polygon_num , node_num ( x, y ) | Remove Position polygon_num , node _num
}
}
где
obj – переменная типа Object;
object_info_code – целое число, код, возвращаемый функцией ObjectInfo(_) (например, OBJ_INFO_PEN);
new_info_value – новое значение для кода object_info_code (например, новая величина типа Pen); object_geo_code – целое число, код, возвращаемый функцией ObjectGeography(_);
(например, OBJ_GEO_POINTX);
new_geo_value – новое значение для кода object_geo_code (например, новая XLкоордината); polygon_num – короткое целое число, идентификатор для одного полигона в объекте регион (область);
node_num – короткое целое число, идентификатор для одного узла в полилинии или полигоне; x, y – XL и YLкоординаты узла.
Описание:
Оператор Alter Object изменяет форму, местоположение, графический стиль существующего объекта. Эффект действия оператора Alter Object зависит от того, какое предложение используется в конструкции оператора: Info, Node, или Geography.
Если оператор использует предложение Info, то MapBasic изменяет графический стиль оформления объекта (например, стиль линии и штриха). Если оператор использует предложение Node, то MapL Basic добавляет, удаляет или передвигает узлы объекта типа "полилиния" или "область". Если оператор включает в себя предложение Geography, то MapBasic изменяет географические атрибуты всех объектов, не являющихся полилиниями и областями (например, XL или YLкоордината точечного объекта).
Предложение Info
Оператор Alter Object с предложением Info изменяет стиль оформления объекта (например, стиль линии и штриха). В предложении изменяются атрибуты, значения которых можно получить от функции ObjectInfo(_). Например, Вы можете определить текущий стиль штриха (величину типа Brush), вызвав функцию ObjectInfo(_):
Dim b_fillstyle As Brush
b_fillstyle = ObjectInfo(Selection.obj, OBJ_INFO_BRUSH)
И, наоборот, следующий оператор Alter Object восстанавливает прежнее значение стиля штриховки:
Справочник MapBasic |
33 |
Оператор Alter Object
Alter Object obj_variable_name
Info OBJ_INFO_BRUSH, b_fillstyle
Заметьте, что Вы используете один и тот же код (OBJ_INFO_BRUSH) в функции ObjectInfo(_) и в операторе Alter Object.
В следующей таблице в первой колонке приводятся имена кодов для использования в предложении Info в качестве параметра obj_info_code. Имена присвоены целочисленным кодам для удобства использования их в операторе. Эти определения находятся в файле MAPBASIC.DEF и, если Вы хотите использовать имена, включите в начало Вашей программы оператор Include "MAPBA4 SIC.DEF".
Значения obj_info_code
OBJ_INFO_PEN
OBJ_INFO_BRUSH
OBJ_INFO_TEXTFONT
OBJ_INFO_SYMBOL
OBJ_INFO_SMOOTH
OBJ_INFO_FRAMEWIN
OBJ_INFO_FRAMETITLE
OBJ_INFO_TEXTSTRING
OBJ_INFO_TEXTSPACING
OBJ_INFO_TEXTJUSTIFY
Результат выполнения Alter Object
Изменяется стиль линии или контура. Параметр new_info_value должен иметь значение типа Pen.
Изменяется стиль штриховки объекта. Параметр new_info_value должен иметь значение типа Brush.
Изменяется стиль шрифта. Параметр new_info_value должен иметь значение типа Font.
Изменяется стиль символа. Параметр new_info_value должен иметь значение типа Symbol.
Изменяется режим сглаживания углов для полилиний.
Параметр new_info_value должен иметь значение логического типа (TRUE или FALSE).
Меняет содержимое рамки на изображение другого окна.
Параметр new_info_value должен быть целочисленным идентификатором окна.
Заменяет заголовок в рамке. Параметр new_info_value должен иметь значение типа String.
Меняет текст в текстовом объекте. Параметр new_info_value должен иметь значение типа String.
Изменяет расстояние между строками в текстовом
объекте. Параметр new_info_value должен иметь значение типа Float равным 1, 1.5, или 2.
Изменяет значение выравнивания для текстовых
объектов. Параметр new_info_value должен иметь одно из следующих целочисленных значений:
0 – выравнивание влево,
1 – центрирование,
2 – выравнивание вправо.
34 |
Справочник MapBasic |
|
|
Оператор Alter Object |
|
|
|
|
|
|
|
|
|
OBJ_INFO_TEXTARROW |
Изменяет вид указки для текстового объекта. Параметр |
|
|
|
new_info_value должен иметь одно из следующих |
|
|
|
целочисленных значений: |
|
|
|
0 |
– нет указки, |
|
|
1 |
– только линия, |
|
|
2 |
– линия со стрелкой. |
|
|
|
|
|
Предложение Geography
Оператор Alter Object с предложением Geography изменяет расположение объекта. Предложение Geography действительно для всех типов объектов за исключением полилиний и областей. Для изменения расположения объектов последних двух типов используйте предложение Node, которое описано ниже. В предложении Geography изменяются атрибуты, текущие значения которых можно получить от функции ObjectGeography(_). Например, Вы можете получить координаты конца объекта "линия":
Dim o_cable As Object
Dim x, y As Float
x = ObjectGeography(o_cable, OBJ_GEO_LINEENDX)
y = ObjectGeography(o_cable, OBJ_GEO_LINEENDY)
Оператор Alter Object изменяет координаты концов линейного объекта:
Alter Object o_cable
Geography OBJ_GEO_LINEENDX, x
Alter Object o_cable
Geography OBJ_GEO_LINEENDY, y
Заметим, что используется один и тот же код (OBJ_GEO_LINEENDX) в функции ObjectGeogra4 phy(_) и в операторе Alter Object.
В следующей таблице в первой колонке приводятся имена кодов для использования в предложении Geography в качестве параметра obj_geo_code. Имена присвоены целочисленным кодам для удобства использования их в операторе. Эти определения находятся в файле MAPBASIC.DEF и, если Вы хотите использовать имена, включите в начало Вашей программы оператор Include "MAP4 BASIC.DEF".
Значения obj_geo_code |
Результат выполнения Alter Object |
|
|
|
|
OBJ_GEO_MINX |
Изменяет XLкоординату верхнего левого угла минимального |
|
|
прямоугольного покрытия (МПП). |
|
|
|
|
OBJ_GEO_MINY |
Изменяет YLкоординату верхнего левого угла МПП. |
|
OBJ_GEO_MAXX |
Изменяет XLкоординату нижнего правого угла МПП. |
|
OBJ_GEO_MAXY |
Изменяет YLкоординату нижнего правого угла МПП. |
|
OBJ_GEO_ARCBEGANGLE |
Изменяет начальный угол дуги. |
|
OBJ_GEO_ARCENDANGLE |
Изменяет конечный угол дуги. |
|
OBJ_GEO_LINEBEGX |
Изменяет XLкоординату начальной точки линии. |
|
OBJ_GEO_LINEBEGY |
Изменяет YLкоординату начальной точки линии. |
|
|
|
|
Справочник MapBasic |
35 |
Оператор Alter Object
OBJ_GEO_LINEENDX OBJ_GEO_LINEENDY OBJ_GEO_POINTX OBJ_GEO_POINTY OBJ_GEO_ROUNDRADIUS
OBJ_GEO_TEXTLINEX
OBJ_GEO_TEXTLINEY
OBJ_GEO_TEXTANGLE
Предложение Node
Изменяет XLкоординату конечной точки линии.
Изменяет YLкоординату конечной точки линии.
Изменяет XLкоординату точечного объекта.
Изменяет YLкоординату точечного объекта.
Изменяет радиус закругления для объекта типа "скругленный прямоугольник".
Изменяет координату по оси X конца текстовой строки объекта.
Изменяет координату по оси Y конца текстовой строки объекта.
Изменяет угол поворота текстового объекта
Оператор Alter Object с предложением Node добавляет, перемещает или убирает узлы полилиний и многоугольников (полигонов), составляющих области.
Add используется для создания в объекте нового узла. Remove Position удаляет заданный узел. Set Position меняет местоположение узла.
Обычно оператор Alter Object с предложением Node используется в связке с операторами Create Pline или Create Region (создание полилинии и полигона). Операторы Create позволяют создать объекты полилинии или полигона из образца. Операторы Create требуют точного задания количества узлов объекта на этапе компиляции; но в ряде случаев Вы не можете знать, сколько узлов будет содержать объект при работе программы.
Если Ваша программа не знает точное количество узлов, Вы можете, используя операторы Create Region или Create PLine, создать "пустые" объекты (т. е. количество узлов объекта будет нулевым). Когда понадобится, Вы с помощью оператора Alter Object... Node Add можете добавить к созданному объекту любое количество узлов.
Параметры polygon_num и node_num могут принимать значения от 1 и более. Параметр polygon_num определяет номер изменяемого многоугольника в области. Параметр node_num – номер узла в многоугольнике и в ломаной (полилинии). Если объект является полилинией, то параметр polygon_num должен быть всегда единицей.
Пример:
Dim myobj As Object, i As Integer
Create Region Into Variable myobj 0
For i = 1 to 10
Alter Object myobj
Node Add (Rnd(1) * 100, Rnd(1) * 100)
Next
Смотрите также:
Create PLine, Create Region, ObjectGeography(_), ObjectInfo(_)
36 |
Справочник MapBasic |