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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.05.2008, 17:33   #21  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
X++:
public class FormRun extends ObjectRun
{
    #define.numOfShapes(7)
    #define.index1(1)
    #define.index2(2)
    #define.index3(3)
    #define.index4(4)
    #define.index5(5)
    #define.index6(6)
    #define.index7(7)
    //Scale Macroses
    #define.hourLengthInPixels(50)
    #define.scalePos(3)
    #define.scaleWidth(5)
    #define.hourBreakWidth(3)
    #define.hourBreakHeight(10)
    #define.scalePosY(10)
    #define.rightScaleBorder(10)
    #define.leftScaleBorder(10)
    //
    int shapecolors[#numOfShapes];
    int     white;
    WinGdi gdi;
    boolean redraw;
}
X++:
void drawScale()
{
    int i;
    int _shapeBrush;
    int _scaleColor = shapeColors[#index7],
        _breakColor = shapeColors[#index7];
    WinGDI _gdi;
    ;
    GPane.width(12*#hourLengthInPixels+2*#scalePos+#rightScaleBorder);
    this.clearPane();
    GPane.lockDC();
    _gdi = new WinGDI(GPane.hDC());
    _shapeBrush = _gdi.createSolidBrush(_scaleColor);
    _gdi.fillRect(0,#scalePosY,Gpane.widthValue()-#scalePos-#rightScaleBorder,#scaleWidth+#scalePosY,_shapeBrush);
    _shapeBrush = _gdi.createSolidBrush(_breakColor);
    for(i=1;i<=13;i++)
    {
        this.drawHourBreakLine(_shapeBrush,i);
    }
    for(i=1;i<=12;i++)
    {
        this.drawHalfHourBreakLine(_shapeBrush,i);
    }
}
X++:
protected void drawHourBreakLine(int _brush,int hourNumber)
{
    WinGDI _gdi;
    int left_x;
    ;
    left_x=(hourNumber-1)*#hourLengthInPixels;
    _gdi = new WinGDI(GPane.hDC());
    _gdi.fillRect(left_x,#scaleWidth+#ScalePosY,left_x+#hourBreakWidth,
                  #scaleWidth+#ScalePosY+#hourBreakHeight,_brush);
    _gdi.textOut(left_x,0,int2str(hourNumber));
}
X++:
void clearPane()
{
    WinGdi  _gdi;
    int     _brush;
    ;
    GPane.lockDC();
    _gdi = new WinGDI(GPane.hDC());
    _brush = _gdi.createSolidBrush(white);
    _gdi.fillRect(0,0,GPane.widthValue(),GPane.heightValue(),_brush);
    _gdi.deleteObject(_brush);
}
X++:
void init()
{
    super();
    white = WinAPI::RGB2int(0xff,0xff,0xff);
    shapeColors[#index1] = WinAPI::RGB2int(0x40,0x00,0x0bf);
    shapeColors[#index2] = WinAPI::RGB2int(0x00,0x7f,0x00);
    shapeColors[#index3] = WinAPI::RGB2int(0x7f,0x00,0x7f);
    shapeColors[#index4] = WinAPI::RGB2int(0x7f,0x00,0x00);
    shapeColors[#index5] = WinAPI::RGB2int(0x00,0x7f,0x7f);
    shapeColors[#index6] = WinAPI::RGB2int(0x7f,0x7f,0x00);
    shapeColors[#index7] = WinAPI::RGB2int(0x00,0x00,0x7f);
    //dobavit 8oj
}
и Paint GPane
X++:
public int paint()
{
    int ret;
    ret = super();
    element.drawLiftOnScale(3,5);
 
    return ret;
}
Возможно из-за того, что меняю размер панели и переопределяю контекст для каждой новой отрисовки...
__________________
Axapta has seduced me deadly!
Старый 14.05.2008, 17:34   #22  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Эм, тупой вопрос, как файл прикрепить, али же только ссылку на него можно выложить?

В общем ссыль:
http://fileshare.in.ua/762687
__________________
Axapta has seduced me deadly!

Последний раз редактировалось HorrR; 14.05.2008 в 17:38.
Старый 14.05.2008, 17:50   #23  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
ответить -> управление вложениями.
выложи нормально...
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 14.05.2008, 17:52   #24  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Понял, спасибо!
Вложения
Тип файла: xpo Form_Test_MyVariant.xpo (17.9 Кб, 324 просмотров)
__________________
Axapta has seduced me deadly!
Старый 14.05.2008, 18:10   #25  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
без
GPane.lockDC();
и
GPane.unlockDC();

ничего не мерцает)
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
За это сообщение автора поблагодарили: HorrR (1).
Старый 14.05.2008, 18:14   #26  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Уклон вам до земли сударь. З.Ы. А слона то я и не заметил...
__________________
Axapta has seduced me deadly!
Теги
ax2.5, ax3.0, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с поиском в InventTrans после changeCompany (DAX4) Raven Melancholic DAX: Программирование 11 13.03.2008 14:02
Проблема с единицей измерения longson DAX: Программирование 4 16.07.2007 14:35
Проблема с созданием объекта Lelya DAX: Администрирование 33 27.06.2005 16:38
Проблема: русские шрифты в отчетах, формируемых на сервере. Anais DAX: Администрирование 3 17.11.2003 13:20
Проблема с временной таблицей MIkeFW DAX: Программирование 5 18.09.2003 11:58

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

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

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