AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.07.2007, 11:08   #2  
PT is offline
PT
Участник
Аватар для PT
 
22 / 10 (1) +
Регистрация: 11.08.2004
Адрес: Сибирь
примеры хорошие, но у меня ни в какую не получается нарисовать рамку ячейкам.
Устала тупить самостоятельно. Подскажите где собака зарыта..
X++:
static void oo_1(Args _args)
{
    COM OpenOffice;
    COM oDeskTop;
    COM oDocument;
    COM oscr;
    COM oSheets;
    COM oRange;
    COM oSheet;
    COM MyStruct;
    COMVariant arg;
    Array arr = new Array(Types::String);
    //Создание экземпляра OpenOffice.org
    OpenOffice = new Com("com.sun.star.ServiceManager");
    oDeskTop = OpenOffice.CreateInstance("com.sun.star.frame.Desktop");
    // create and initialize a COMVariant object
    arg = COMVariant::createFromArray(arr);
    //Создание документа
    oDocument = oDeskTop.LoadComponentFromURL("private:factory/scalc", "_blank", 0, arg);
    oSheets   = oDocument.getSheets();
    oSheet    = oSheets.getByIndex(0);

    oRange = oSheet.getCellRangeByPosition(2,3,5,7);
    oRange.setPropertyValue("CellBackColor", 1300003);
    MyStruct =OpenOffice.Bridge_GetStruct("com.sun.star.table.BorderLine");
    MyStruct.color(13047173);
    MyStruct.lineDistance(0);
    MyStruct.innerLineWidth(0);
    MyStruct.outerLineWidth(1);
    oRange.leftBorder(MyStruct);
    oRange.rightBorder(MyStruct);
    oRange.topBorder(MyStruct);
    oRange.bottomBorder(MyStruct);
}
Старый 13.12.2007, 15:54   #3  
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).
Теги
документация

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как открыть шаблон в OpenOffice? PT DAX: Программирование 28 16.12.2010 06:13
DeniZone: OpenOffice and Dynamics ax Blog bot DAX Blogs 0 12.12.2008 13:05
Ищу класс для работы с OpenOffice kBace4ka DAX: Программирование 9 12.12.2007 10:57
Axapta+OpenOffice mmm DAX: Программирование 3 20.02.2007 16:50
Axapta i OpenOffice januszek DAX: Прочие вопросы 3 15.11.2004 14:31

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:57.