|
![]() |
#1 |
MCITP
|
![]()
Если б была горячая клавиша "по ширине страницы", то это было бы круто... а так, баловство одно...
![]() Или такая клавиша всё-таки есть? Кстати, ни в одной документации не могу найти описания этих Alt-D, Alt-U. , странно... Пробую что-то наваять через винАпи.. может выйдет
__________________
Zhirenkov Vitaly |
|
![]() |
#2 |
MCITP
|
![]()
Через винАпи получилось развернуть на всю страницу примерно так:
(На основе решения 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 |
|
![]() |
#3 |
MCITP
|
![]()
Только между вызовами WinAPI рекомендую добавить небольшие sleep-ы... иначе будет падать периодически...
__________________
Zhirenkov Vitaly |
|