Вверх ↑
Ответов: 758
Рейтинг: 112
#1: 2012-05-13 21:09:59 ЛС | профиль | цитата
Nic писал(а):
Тут образовалась проблема. Дело в том, что: "...clWindow - это не RGB а системный цвет, его значение равно 5..."
В Delphi с этим справляются так:
ColorToRGB(clWindow)
В нашем случае на уровне кодогенератора пока решения нет.

Я эту проблему в пакете FreeBASIC решал так

if (this.props("color").value < 0)
blk_body.print('GetSysColor(16777216',this.props("color").value,')')
else
blk_body.print(this.props("color"))
end
Если this.props("color").value < 0, то выбран системный цвет (например, clBtnFace)
для образования нормального цвета нужно к числу 16777216 прибавить отрицательный this.props("color").value и вызвать функцию GetSysColor
16777216 - определено экспериментально
карма: 1

0