Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 Странности с expression для свойства колонки Background.Color  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Привет всем. Пишу для свойства background.color некой колонки следующее выражение:
if( GetRow() = CurrentRow(), RGB( 255, 255, 232 ), RGB( 255, 255, 255 ) )

Все работает как часы - общий фон для колонки белый, для той, на которой фокус - желтый.
По идее тип данного свойства - Long, поэтому правомерно пишу:
if( GetRow()  = CurrentRow(), 7983676, 536870912 )

что в принципе аналогично предыдущему выражению, только вместо RGB я подставил реальное значение цвета. На выходе получаю странный глюк - все что до текущей записи как и надо имеет фон белый, колонка текущей записи имеет фон желтый, а вот все что дальше нее почему то рисуется на черном фоне. Если же в выражение просто подставить число - например 536870912, то все как и полагается рисуется белым.

Скажите - это я не проснулся или я просто чего то не знаю ?
20 окт 03, 12:45    [383541]     Ответить | Цитировать Сообщить модератору
 Re: Странности с expression для свойства колонки Background.Color  [new]
PVG
Member

Откуда: Киев
Сообщений: 47
Ты явно неправильно просчитал реальные значения цветов.
The formula for combining the colors is:
65536 * Blue + 256 * Green + Red
20 окт 03, 15:03    [383910]     Ответить | Цитировать Сообщить модератору
 Re: Странности с expression для свойства колонки Background.Color  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Без разницы как я их просчитал, вопрос о другом - почему такой глюк.
20 окт 03, 15:14    [383948]     Ответить | Цитировать Сообщить модератору
 Re: Странности с expression для свойства колонки Background.Color  [new]
PVG
Member

Откуда: Киев
Сообщений: 47
RGB(255,255,232)=16777192, а не 7983676
RGB(255,255,255)=16777215, а не 536870912
20 окт 03, 15:23    [383968]     Ответить | Цитировать Сообщить модератору
 Re: Странности с expression для свойства колонки Background.Color  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Такс, кажись до меня начало доходить. Действительно, если поставить в возврат цвета значение больше 16777215, то DW начинает страшно глюкавить. Странно, что число 536870912 взято не с потолка - я его взял с DataWindow source с колонки у которой цвет включен на транспарент. Наверное это их фича такая. Спасибо за подсказку :)
20 окт 03, 16:41    [384177]     Ответить | Цитировать Сообщить модератору
 Re: Странности с expression для свойства колонки Background.Color  [new]
PL99
Member

Откуда: Moscow
Сообщений: 1367
вот полезные таблички, я их часто использую

2^25 or 33554592 = window text color
2^26 or 78682240 = buttonface color
2^27 = scroll bar background color
2^28 or 268435456 = application workspace color
2^29 or 553648127= transparent
2^30 or 1087434968 = window background color

(from the pfc_n_cst_color class)
constant string WNDBACKGROUND = 1087434968
constant string BUTTONFACE = 78682249

BUTTONFACE = 78682240
WINDOW_BACKGROUND = 1087434968
WINDOW_TEXT = 33554592
APPLICATION_WORKSPACE = 268435456
TRANSPARENT = 553648127

BLACK = RGB(0, 0, 0)
WHITE = RGB(255, 255, 255)
LIGHT_GRAY = RGB(192, 192, 192)
DARK_GRAY = RGB(128, 128, 128)
RED = RGB(255, 0, 0)
DARK_RED = RGB(128, 0, 0)
GREEN = RGB(0, 255, 0)
DARK_GREEN = RGB(0, 128, 0)
BLUE = RGB(0, 0, 255)
DARK_BLUE = RGB(0, 0, 128)
MAGENTA = RGB(255, 0, 255)
DARK_MAGENTA = RGB(128, 0, 128) (8388736)
CYAN = RGB(0, 255, 255)
DARK_CYAN = RGB(0, 128, 128)
YELLOW = RGB(255, 255, 0)
BROWN = RGB(128, 128, 0)
20 окт 03, 20:05    [384633]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить