Страница 1 из 1

Помогите, как задать цвет используя переменную?

Добавлено: 27 окт 2008, 15:36
evr
Задача: установить цвет подписей по цвету линейных объектов одного из слоев карты.
Хотелось бы чтобы этот кусок кода работал (или как добиться этого же результата).
Выдает ошибку - встретилось RGBcolor, там где ожидается числовая константа.
Можно подставить конкретные параметры в RGB функцию, но как их получить по значению (red*65536 + green*256+blue = RGBcolor)
Dim RGBcolor As Integer
Dim objPen As Pen

Select Obj From tabName Into TabObj
Fetch First From TabObj
objPen = ObjectInfo( TabObj .obj , OBJ_INFO_PEN )
RGBcolor = StyleAttr(objPen , PEN_COLOR)

Set Map Window idW_map
Layer tabName1
Label With LayerName
Auto On
Font ("Times New Roman Cyr", 0, 12, RGBcolor)

Re: Помогите, как задать цвет используя переменную?

Добавлено: 09 ноя 2008, 04:56
Boris
evr писал(а):Задача: ...
Set Map Window idW_map
Layer tabName1
Label With LayerName
Auto On
Font ("Times New Roman Cyr", 0, 12, RGBcolor)
Приведенный синтаксис позволяет использовать только константы в описании типа Font, для задания переменных следует использовать следующие выражение:
MakeFont( fontname, style, size, fgcolor, bgcolor )
или заранее задать их переменной типа Font.
то есть:
Set Map Window idW_map
Layer tabName1
Label With LayerName
Auto On
Font MakeFonе("Times New Roman Cyr", 0, 12, RGBcolor, WHITE)
PS
надо не забыть задать цвет фона, иначе это будет следующим ругательным сообщением.