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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.10.2008, 13:24   #1  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
? Как вывести строку в StatusBar?
Коллеги,

всё как-то в инфолог по привычке выводил, а тут захотелось в StatusBar (слева) написаться. И чего-то не получилось с наскока одолеть, ничего подходящего не нашёл по теме.

Подскажите, пожалуйста, можно ли это сделать? И если да, то как?

Заранее благодарю.


P.S. Для большей ясности: речь идёт о том, что, например, в Excel на VBA можно сделать так:
Application.StatusBar = "Мой вывод в статусбар"
Старый 20.10.2008, 14:06   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Не совсем понял что за statusBar и где такое находится?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 20.10.2008, 14:14   #3  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Про него речь?
ProgressBar в StatusBar(е)
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 20.10.2008, 14:19   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,314 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Если надо вывести текст - то можно "обмануть" систему, запихнув сей текст в свойство helptext активного контрола (ведь сей вывод привязан же к форме). Другое дело - что это надо проверить... да и универсальное средство если верить указанной ссылке убрали в 4-ке
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: Gustav (3).
Старый 20.10.2008, 14:21   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Про него речь?
ProgressBar в StatusBar(е)
Про место - да. Но в нем нужен не прогресбар, а моя произвольная строка:

В Аксапте:
Название: status0.jpg
Просмотров: 1433

Размер: 34.5 Кб

А в Excel тем оператором, что я указал выше, вот так получается:
Название: Status1.jpg
Просмотров: 1464

Размер: 37.8 Кб
Старый 20.10.2008, 14:28   #6  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Можно у пользователя включить "Поле настраиваемой подсказки" и с помощью infolog.writeCustomStatlineItem() писать туда нужную инфу
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Gustav (3).
Старый 20.10.2008, 14:34   #7  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
WinApi::setWindowText(statusHwnd, "my text");
hwnd сами найдете?

ЗЫ только для 3ки
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 20.10.2008, 14:39   #8  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от AndyD Посмотреть сообщение
Можно у пользователя включить "Поле настраиваемой подсказки" и с помощью infolog.writeCustomStatlineItem() писать туда нужную инфу
Это вывод не в начало статусбара. Но как вариант очень даже приемлимо.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 20.10.2008, 15:33   #9  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
hwnd сами найдете?
не-а... научите?
Цитата:
Сообщение от AndyD Посмотреть сообщение
Можно у пользователя включить "Поле настраиваемой подсказки" и с помощью infolog.writeCustomStatlineItem() писать туда нужную инфу
В принципе, неплохо, только видимая область там маловастенькая - у меня 27 символов всего помещается...
Старый 20.10.2008, 15:57   #10  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
X++:
    HWND statusBar;
    
    HWND getStatusBarHWND()
    {
        HWND main       = infolog.hWnd();
        HWND nextHwnd   = 0;
        HWND childHwnd;
        ;
        do
        {
            childHwnd = WinApi::findWindowEx(nextHwnd, 0, "msctls_statusbar32", "");
            if(childHwnd)
            {
                return childHwnd;
            }

            nextHwnd  = WinApi::findWindowEx(main, nextHwnd, "MDImarginCL", "");
        } 
        while(nextHwnd);
    }
    ;
    statusBar = getStatusBarHWND();
    WinApi::setWindowText(statusBar, "my text");
В VisualStudio есть утилита Spy++ - очень помогает при поиске hwnd окон.

ЗЫ Еще раз - только для 3ки
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
За это сообщение автора поблагодарили: Gustav (6).
Старый 20.10.2008, 16:48   #11  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Spy++ - очень помогает при поиске hwnd окон.
ЗЫ Еще раз - только для 3ки
Спасибо. Сделал из Вашего кода себе статический метод в копилочку. Пока на 3-ке сижу - послужит.
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Если надо вывести текст - то можно "обмануть" систему, запихнув сей текст в свойство helptext активного контрола (ведь сей вывод привязан же к форме). Другое дело - что это надо проверить...
Проверил. Поскольку активный контрол - кнопка, то всё очень даже неплохо получается:
X++:
void clicked()
{
    str savedHelpText;

    savedHelpText = this.helpText();
    this.helpText('Моя длинная строка в статусбаре, явно превосходящая 27 символов');

    super();
    // и еще что-нибудь делаем

    this.helpText(savedHelpText);
}
Спасибо всем за конструктивное обсуждение.
Старый 25.05.2009, 10:36   #12  
greench is offline
greench
Участник
Oracle
 
425 / 74 (3) ++++
Регистрация: 12.07.2007
Адрес: Киев
А для 4-ки никто не адаптировал?
Теги
statusbar, программно, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Переход на первую строку SalesLine_ds при вызове SalesTable_ds.write() Владимир Максимов DAX: Программирование 4 02.10.2008 18:08
Программно вывести список отношений (Relation) bJoker DAX: Программирование 6 07.12.2007 14:11
передать строку в ActiveX Eldar9x DAX: Программирование 1 13.08.2007 15:23
Как в коде вывести метку (лейбл) из другого языка? rkorchagin DAX: Программирование 4 29.11.2006 16:15
в печатной форме Счета на оплату вывести банковские реквизиты OlegKocherga DAX: Функционал 3 27.11.2003 11:29
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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