Изменение аттрибутов в MapBasic
Добавлено: 01 ноя 2010, 17:40
хочу изменить цвет и тип заливки объекта, делаю так
myobj = selection.obj
p_var = ObjectInfo(selection.obj,OBJ_INFO_PEN)
p_width = StyleAttr(p_var,PEN_WIDTH)
p_pattern = StyleAttr(p_var,PEN_PATTERN)
p_color = StyleAttr(p_var,PEN_COLOR)
new_color = StyleAttr(pen_style,PEN_COLOR)
new_pen = MakePen(p_width,p_pattern,new_color)
Alter Object myobj
Info OBJ_INFO_PEN, new_pen
Update selection Set obj = myobj Where RowId =intr
b_var = ObjectInfo(selection.obj,OBJ_INFO_BRUSH) ***********
b_pattern = StyleAttr(b_var,BRUSH_PATTERN)
b_forecolor = StyleAttr(b_var,BRUSH_FORECOLOR)
b_backcolor = StyleAttr(b_var,BRUSH_BACKCOLOR)
new_brush = MakeBrush(b_pattern,new_color,b_backcolor)
Alter Object myobj
Info OBJ_INFO_BRUSH, new_brush
Update selection Set obj = myobj Where RowId =intr
в строке *********** выдаёт сообщение , что ObjectInfo: аргумент 2 вышел за заданные пределы, что не так? он ругается на OBJECT_BRUSH? У меня MapInfo и MapBasic v 9.5
myobj = selection.obj
p_var = ObjectInfo(selection.obj,OBJ_INFO_PEN)
p_width = StyleAttr(p_var,PEN_WIDTH)
p_pattern = StyleAttr(p_var,PEN_PATTERN)
p_color = StyleAttr(p_var,PEN_COLOR)
new_color = StyleAttr(pen_style,PEN_COLOR)
new_pen = MakePen(p_width,p_pattern,new_color)
Alter Object myobj
Info OBJ_INFO_PEN, new_pen
Update selection Set obj = myobj Where RowId =intr
b_var = ObjectInfo(selection.obj,OBJ_INFO_BRUSH) ***********
b_pattern = StyleAttr(b_var,BRUSH_PATTERN)
b_forecolor = StyleAttr(b_var,BRUSH_FORECOLOR)
b_backcolor = StyleAttr(b_var,BRUSH_BACKCOLOR)
new_brush = MakeBrush(b_pattern,new_color,b_backcolor)
Alter Object myobj
Info OBJ_INFO_BRUSH, new_brush
Update selection Set obj = myobj Where RowId =intr
в строке *********** выдаёт сообщение , что ObjectInfo: аргумент 2 вышел за заданные пределы, что не так? он ругается на OBJECT_BRUSH? У меня MapInfo и MapBasic v 9.5