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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.02.2009, 19:54   #13  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Вот нашел в архивах. прошу прощения проверить не могу 2.5 нету, но насколько я помню там все оказалось просто в методе:
X++:
private str textTranc(str _text)
{
    int     txtWith, i = 9;
    str     textTmp = _text;

    txtWith = conpeek(winapi::getLineDim(_text), 1);
    while (txtWith > 250)
    {
        textTmp = substr(_text, 1, 8) + '...' + substr(_text, i, strlen(_text) - i+1);
        txtWith = conpeek(winapi::getLineDim(textTmp), 1);
        i++;
    }
    return textTmp;
}
который используется здесь:
X++:
void setText(str _text, int _idx = 1)
{
   if (!_text)
        _text = ' ';         //avoid flicker

    progressText[_idx] = this.textTranc(_text);
    this.update();
}
ну и соответственно ключевой метод:
X++:
// blokva 16.02.2004 -->> Метод возвращает контейнер с длиной (1) и высотой (2) строки текста в ПИКСЕЛАХ
client static container getLineDim(str strtarget)
{
    int         x, y;
    HWND        deviceContext;
    Binary      point           = new Binary(#offset8);
    Binary      bstr            = new Binary(strtarget);

    DLL         _DLL       = new DLL('GDI32');

    DLLFunction _getTextExtentPoint32   = new DLLFunction(_DLL, 'GetTextExtentPoint32A');
    deviceContext = WinApi::createDC();

    _getTextExtentPoint32.returns(ExtTypes::DWORD);
    _getTextExtentPoint32.arg(ExtTypes::DWORD, ExtTypes::POINTER, ExtTypes::DWORD, ExtTypes::POINTER);
    _getTextExtentPoint32.call(deviceContext, bstr, strlen(strtarget), point);

    x               = point.dWord(#Offset0);
    y               = point.dWord(#sizeOfInt);

    return [x, y];
}
думаю дальше не трудно приспособить к любой версии, ибо во всез версиях Аксы эта функциональность меняецца....
Вложения
Тип файла: xpo My_SysOperationProgress.xpo (13.1 Кб, 425 просмотров)
Тип файла: xpo My_SysOperationProgressForm.xpo (9.0 Кб, 456 просмотров)
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
За это сообщение автора поблагодарили: mazzy (2).
Теги
ax3.0, ax4.0, download, faq, progress bar, полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
mazzy: История имен Blog bot DAX Blogs 9 07.11.2009 09:57
mazzy: Комфортный поиск по AOT Blog bot DAX Blogs 5 10.02.2009 09:51
mazzy: Команды загрузки (Startup Command) в Dynamics AX4 Blog bot DAX Blogs 0 12.01.2009 20:05
mazzy: Команда autoRun Blog bot DAX Blogs 6 05.01.2009 04:27
mazzy: Команды загрузки (Startup Command) Blog bot DAX Blogs 0 30.12.2008 18:05

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

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

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