БЛАНКСШАБЛОНОМ "Системные цвета Windows";
СекцЦвета :Object;

var co_AppWorkSpace  :Integer; -- Цвет рабочего пространства приложения
var co_Window        :Integer; -- Задний план (фон) окна
var co_WindowText    :Integer; -- Цвет текста в окне
var co_Highlight     :Integer; -- Выбранный текст (фон)
var co_HighlightText :Integer; -- Выбранный текст (шрифт)
var co_BtnHighlight  :Integer; -- Цвет подсвеченной (в фокусе) кнопки
var co_BtnFace       :Integer; -- Поверхность объекта (цвет кнопки)
var co_BtnShadow     :Integer; -- 3D тень объекта (цвет тени кнопки)
var co_BtnText       :Integer; -- Текст объекта (текст на кнопке)
var co_Menu          :Integer; -- Строка меню (фон)
var co_MenuText      :Integer; -- Строка меню (шрифт)
var co_GrayText      :Integer; -- "Серый текст", текст неактивного объекта
var co_DIC           :Integer; -- от "ДИЦ"

var FlagInit        :Logical=[False];

Proc InitColor;
 OpenBlank("РАБ.ЦВЕТА");
end;

Func ВзятьЦвет(vColor:String) :Integer;
var inColor :String;
 if not FlagInit: InitColor; fi;
 inColor=Up(vColor);
 if inColor="COAPPWORKSPACE":  ^ РАБ.ЦВЕТА.co_AppWorkSpace   ;
 |  inColor="COWINDOW":        ^ РАБ.ЦВЕТА.co_Window         ;
 |  inColor="COWINDOWTEXT":    ^ РАБ.ЦВЕТА.co_WindowText     ;
 |  inColor="COHIGHLIGHT":     ^ РАБ.ЦВЕТА.co_Highlight      ;
 |  inColor="COHIGHLIGHTTEXT": ^ РАБ.ЦВЕТА.co_HighlightText  ;
 |  inColor="COBTNHIGHLIGHT":  ^ РАБ.ЦВЕТА.co_BtnHighlight   ;
 |  inColor="COBTNFACE":       ^ РАБ.ЦВЕТА.co_BtnFace        ;
 |  inColor="COBTNSHADOW":     ^ РАБ.ЦВЕТА.co_BtnShadow      ;
 |  inColor="COBTNTEXT":       ^ РАБ.ЦВЕТА.co_BtnText        ;
 |  inColor="COMENU":          ^ РАБ.ЦВЕТА.co_Menu           ;
 |  inColor="COMENUTEXT":      ^ РАБ.ЦВЕТА.co_MenuText       ;
 |  inColor="COGRAYTEXT":      ^ РАБ.ЦВЕТА.co_GrayText       ;
 |  inColor="CODIC":           ^ РАБ.ЦВЕТА.co_DIC            ;
 else ^0;
 fi;
end;

Func GetColor(vColor:String) :Integer;
 ^ВзятьЦвет(vColor);
end;

Proc Template_AfterOpen(Create:Logical); -- после открытии шаблона
 FlagInit=False;
 РАБ.ЦВЕТА.co_AppWorkSpace  = asInteger(СекцЦвета.Cell(01, 1, CellBgColor, "")); -- Цвет рабочего пространства приложения
 РАБ.ЦВЕТА.co_Window        = asInteger(СекцЦвета.Cell(02, 1, CellBgColor, "")); -- Задний план (фон) окна
 РАБ.ЦВЕТА.co_WindowText    = asInteger(СекцЦвета.Cell(03, 1, CellBgColor, "")); -- Цвет текста в окне
 РАБ.ЦВЕТА.co_Highlight     = asInteger(СекцЦвета.Cell(04, 1, CellBgColor, "")); -- Выбранный текст (фон)
 РАБ.ЦВЕТА.co_HighlightText = asInteger(СекцЦвета.Cell(05, 1, CellBgColor, "")); -- Выбранный текст (шрифт)
 РАБ.ЦВЕТА.co_BtnHighlight  = asInteger(СекцЦвета.Cell(06, 1, CellBgColor, "")); -- Цвет подсвеченной (в фокусе) кнопки
 РАБ.ЦВЕТА.co_BtnFace       = asInteger(СекцЦвета.Cell(07, 1, CellBgColor, "")); -- Поверхность объекта (цвет кнопки)
 РАБ.ЦВЕТА.co_BtnShadow     = asInteger(СекцЦвета.Cell(08, 1, CellBgColor, "")); -- 3D тень объекта (цвет тени кнопки)
 РАБ.ЦВЕТА.co_BtnText       = asInteger(СекцЦвета.Cell(09, 1, CellBgColor, "")); -- Текст объекта (текст на кнопке)
 РАБ.ЦВЕТА.co_Menu          = asInteger(СекцЦвета.Cell(10, 1, CellBgColor, "")); -- Строка меню (фон)
 РАБ.ЦВЕТА.co_MenuText      = asInteger(СекцЦвета.Cell(11, 1, CellBgColor, "")); -- Строка меню (шрифт)
 РАБ.ЦВЕТА.co_GrayText      = asInteger(СекцЦвета.Cell(12, 1, CellBgColor, "")); -- "Серый текст", текст неактивного объекта
 РАБ.ЦВЕТА.co_GrayText      = asInteger(СекцЦвета.Cell(12, 1, CellBgColor, "")); -- "Серый текст", текст неактивного объекта
 РАБ.ЦВЕТА.co_DIC           = asInteger(СекцЦвета.Cell(13, 1, CellBgColor, "")); -- от "ДИЦ"
 FlagInit=True;
 Close;
end;

КОНЕЦ