Показать сообщение отдельно
Старый 13.12.2007, 15:54   #9  
c_makarov is offline
c_makarov
Участник
 
2 / 15 (1) ++
Регистрация: 14.03.2007
Цитата:
Сообщение от PT Посмотреть сообщение
примеры хорошие, но у меня ни в какую не получается
нарисовать рамку ячейкам.
Вот часть кода, которая предназначена для отрисовки рамки:

X++:
void setBorder(str _borderName = "", int color = 0, int innerLineWidth = 0, int outerLineWidth = 10, int lineDistance = 0)
{
    COM MyStruct;
    ComDispFunction func;
    COMVariant varArg1 = new COMVariant();


    MyStruct = OpenOffice.Bridge_GetStruct("com.sun.star.table.BorderLine");

    func = new COMDispFunction(MyStruct, "Color",  COMDispContext::PropertyPut);
    varArg1.int(color);
    func.call(varArg1);

    func = new COMDispFunction(MyStruct, "OuterLineWidth",  COMDispContext::PropertyPut);
    varArg1.int(outerLineWidth);
    func.call(varArg1);

    func = new COMDispFunction(MyStruct, "InnerLineWidth",  COMDispContext::PropertyPut);
    varArg1.int(innerLineWidth);
    func.call(varArg1);

    func = new COMDispFunction(MyStruct, "LineDistance",  COMDispContext::PropertyPut);
    varArg1.int(lineDistance);
    func.call(varArg1);

    Cell.SetPropertyValue(_borderName, MyStruct);
}
Cell - это ячейка
OpenOffice - это объект OpenOffice



Передаваемые параметры:
_borderName - имя линии - например "LeftBorder", "RightBorder", "TopBorder", "BottomBorder"
_color - цвет _blue + (_green * 256) + (_red * 65536)
_innerLineWidth - толщина внутренней линии в сотых долях миллиметра
_outerLineWidth - толщина внешней линии в сотых долях миллиметра
_lineDistance - расстояние между внутренней и внешней линиями
За это сообщение автора поблагодарили: Lucky13 (2).