Цитата:
Сообщение от
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 - расстояние между внутренней и внешней линиями