Показать сообщение отдельно
Старый 21.05.2007, 14:27   #3  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 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.