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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.11.2004, 16:54   #1  
maxsmirnov is offline
maxsmirnov
экс-модератор
 
268 / 25 (1) +++
Регистрация: 08.07.2003
Адрес: Москва
случайно наткнулся на что-то похожее

в xInfo есть метод activateWindow()
судя по контексту (поищите в АОТе "activateWindow") он берет на вход hWnd
если получить к-л образом список hWnd всех окон (наверняка же можно, через winapi..???), то можно организовать панель с которой можно будет активировать окна.

вот так можно получить хВнд родительского окна клиента аксапты
WinAPI::findWindow('AxaptaClientClassName', '');

есть метод
static client public HWND findWindowEx(HWND _parent, HWND _after, str _class, str _title)
с помощью которого можно получать дочерние окна
как его юзать - я не понял...
вернее, понял, но не смог применить :)
поискав в инете доку на винапишную функцию FindWindowExA которую он юзает, я написал следующий код:

PHP код:
static void Job7(Args _args)
{
    
hWnd    Parent;
    
hwnd    Child;
    ;
    
Parent WinAPI::findWindow('AxaptaClientClassName''');

    for (
Child WinAPI::FindWindowEx(Parent0'''');
         !
children.exists(child);
         
Child WinAPI::FindWindowEx(Parentchild''''))
    {
        
info(strfmt("%1 - %2"childWinAPI::getWindowText(child)));
    }

он выдает какие-то hwnd, но activateWindow() их не кушает

хуже того
hwnd - это, как правило, довольно большие, 6-значные инты.

я попробовал перебором найти то, что примет на вход activateWindow(), и обнаружил, что перебирая числа от 0 до 1000 я преребрал все октрытые у меня на тот момент окна!!!

PHP код:
static void Job6(args a)
{
    
int i;
    ;
    
//infolog.activateWindow(197606);

    
for (01000i++)
    {
        
infolog.activateWindow(i);
    }

короче говоря, я окончательно запутался.
с одной стороны (судя по классу sysCompilerOutput, к примеру) activateWindow берет на вход хвнд, и это работает, с другой стороны опытным путем было найдено окно которой активировалось по activateWindow(906)...
если будут к-л результаты - пишите

PS. я изменил тему треда в надежде что такая привлечет больше людей :)

Уважаемые разработчики!
Предлагаю совместно исследовать возможность соорудить в аксапте панель задач!
Теги
winapi, панель задач, инструменты, интерфейс

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
[ANN] Tabax 0.1 -- панель задач для Axapta belugin DAX: База знаний и проекты 302 21.10.2016 12:49
Обращение к http-сервису в Аксапте Lucky13 DAX: Программирование 31 24.03.2015 19:37
Standart Costing, Direct Costing и механизмы их реализации в Аксапте slava09 DAX: Функционал 55 05.06.2006 11:00
Система оповещений в Аксапте (события в Аксапте) raunio DAX: Прочие вопросы 1 29.09.2005 15:44
Размышления на тему “Системы контроля версий в Аксапте”. Андре DAX: База знаний и проекты 31 07.02.2005 12:29

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:52.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.