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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.05.2011, 14:41   #1  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Если б была горячая клавиша "по ширине страницы", то это было бы круто... а так, баловство одно...
Или такая клавиша всё-таки есть?
Кстати, ни в одной документации не могу найти описания этих Alt-D, Alt-U. , странно...

Пробую что-то наваять через винАпи.. может выйдет
__________________
Zhirenkov Vitaly
Старый 11.05.2011, 15:53   #2  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Через винАпи получилось развернуть на всю страницу примерно так:
(На основе решения someOne через поток)

X++:
class ReportMaximizeHandler
{
}

static client void maximize(Str _reportName)
{
    thread thread = new thread();
    ;

    thread.setInputParm([_reportName]);
    thread.run(classnum(ReportMaximizeHandler), identifierstr(runThread));

}

#WinAPI
static client void runThread(thread _thread)
{
    Str _str;

    hwnd    hwnd;
    int     retVal;
    ;


    [_str] = _thread.getInputParm();

    hwnd = WinAPI::findWindow("", _str + " - Report");

    if (hwnd)
    {
        WinApi::bringWindowToTop(hwnd);

        WinApi::forceMaximizeWindow(hwnd);

        retVal = WinApi::postMessage(hwnd, 0x007B,  hwnd, 0xFFFF);

        retVal = WinApi::postMessage(hwnd, #WM_KEYDOWN,  0x26, 0);
        retVal = WinApi::postMessage(hwnd, #WM_KEYUP,  0x26, 0);

        retVal = WinApi::postMessage(hwnd, #WM_KEYDOWN,  0x26, 0);
        retVal = WinApi::postMessage(hwnd, #WM_KEYUP,  0x26, 0);

        retVal = WinApi::postMessage(hwnd, #WM_KEYDOWN,  0x0D, 0);
        retVal = WinApi::postMessage(hwnd, #WM_KEYUP,  0x0D, 0);

    }
}

// Report.Run()
public void run()
{
    ;
    super();

    ReportMaximizeHandler::maximize(this.design().caption());
}
Проблема с поиском нужного окна правда осталась до конца не решённая.
Не удалось красиво найти hwnd текущего сформированного отчёта. Только по имени.
В принципе находит всегда последний, так что не сильно критично, но всё равно не красиво. Буду благодарен за помощь в этом направлении.
__________________
Zhirenkov Vitaly
Старый 11.05.2011, 16:23   #3  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Только между вызовами WinAPI рекомендую добавить небольшие sleep-ы... иначе будет падать периодически...
__________________
Zhirenkov Vitaly
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Программное изменение "Счет на" в заказе Antant DAX: Программирование 12 02.02.2009 10:49
Динамическое изменение query для отчета Peppi DAX: Программирование 1 25.11.2008 06:59
изменение стандартного диалогового окна отчета алька DAX: Программирование 8 15.04.2007 00:55
Изменение размера отчёта больше А4 Whity DAX: Программирование 8 12.12.2006 14:42
Изменение отчета счет-фактура. Подскажите плз .... vasiliy DAX: Программирование 3 28.12.2004 10:57

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

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

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