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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.05.2007, 12:27   #1  
MKhaziev is offline
MKhaziev
Участник
 
16 / 10 (1) +
Регистрация: 08.10.2004
Адрес: Ижевск
DAX 4.0 изменился LabelAlignment
При переходе на версию 4.0 столкнулся с проблемой GUI.
Пользователи привыкли к тому, что в прошлой версии заголовки элементов формы были прижаты вправо (LabelAlignment = Right). Сейчас прижатие по умолчанию влево.

Необходимо простое и безболезненное решение по изменению прижатия в право.
Старый 21.05.2007, 14:13   #2  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Перейти на 3.0 .

Вообще странная хотелка. Типа дайте нам Аксапту, но чтобы интерфейс выглядел как в SAP.

Вообще вы столкнулись с последствием универсализации интерфейсов. Микрософт такое декларирует для всего своего зоопарка ERP. Теперь интерфейс Аксапты в части надписей к полям стал больше похож на Навижн.
__________________
С уважением,
glibs®
Старый 21.05.2007, 14:27   #3  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Могу предложить в классе SysSetupFormRun в методе init() вставить такой код до super().
X++:
    FormBuildDesign fbd;
    int i;
    void UpdateLabelAlignment(FormBuildControl fc)
    {
        int k;
        Object control;
        FormBuildStringControl fbsc;
        ;
        if (fc)
        {
            switch (fc.handle())
            {
                case classNum(FormBuildStringControl):
                case classNum(FormBuildCheckBoxControl):
                case classNum(FormBuildRealControl):
                case classNum(FormBuildIntControl):
                case classNum(FormBuildInt64Control):
                case classNum(FormBuildComboBoxControl):
                case classNum(FormBuildWindowControl):
                case classNum(FormBuildDateControl):
                case classNum(FormBuildListBoxControl):
                case classNum(FormBuildTimeControl):
                    control = fc;
                    control.labelAlignment(Alignment::Right);
                    break;
            }

            if (fc.isContainer())
            {
                for (k=1;k<=fc.controlCount();k++)
                    UpdateLabelAlignment(fc.controlNum(k));
            }
        }
    }
    ;
    if (this.form() && this.form().design())
    {
        fbd = this.form().design();
        for (i=1;i<=fbd.controlCount();i++)
            UpdateLabelAlignment(fbd.controlNum(i));
    }
    super();
    ...
Только, если захотите все-таки использовать левое выравнивание, надо будет придумать механизм отключения этого метода для таких контролов

PS. Для четверки надо еще добавить проверку контрола на FormBuildInt64Control
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 21.05.2007 в 16:49.
Старый 21.05.2007, 15:04   #4  
MKhaziev is offline
MKhaziev
Участник
 
16 / 10 (1) +
Регистрация: 08.10.2004
Адрес: Ижевск
Супер!
AndyD, вам огромный респект!
Старый 21.05.2007, 16:13   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Классное решение !

Но по опыту сильно замедляет открытие форм. Например SalesTable откройте таким образом - минуту наверно думать будет, а может и больше.

Серебряной пули нет...
Старый 21.05.2007, 16:28   #6  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Хм.
Странно. У меня открывается довольно быстро. Секунда-две.
__________________
Axapta v.3.0 sp5 kr2
Теги
ax3.0, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
msdynamicsax: DAX 2009 and MS SQL 2008 Blog bot DAX Blogs 0 09.08.2008 14:05
dax-lessons: Generate XML Documentation Files for a project - DAX 2009 Blog bot DAX Blogs 0 08.08.2008 19:06
dax-lessons: Active directory in Axapta Blog bot DAX Blogs 0 27.08.2007 23:00
Kashperuk Ivan: AxPaint - make your DAX look cool :) Blog bot DAX Blogs 0 26.06.2007 21:00
Kashperuk Ivan: (DAX 3.0) SysExportDialog form extension Blog bot DAX Blogs 1 15.05.2007 19:16

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

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

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