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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.02.2012, 11:41   #4  
Ar is offline
Ar
Участник
Аватар для Ar
Злыдни
 
21 / 20 (1) +++
Регистрация: 27.06.2005
Адрес: Москва
Пока не нашёл ничего лучшего, как перебрать все окна текущего Workspace'а. Первым попавшимся проектным окном и будет верхнее в Z-последовательности окно.
X++:
    HWND        hWndParent = WinAPI::findWindowEx(infolog.hWnd(), 0, 'MDIClient', '');
    HWND        hWnd;
    str         caption;
    str         projName;
    ;

    // активные/открытые проекты
    for (hWnd = WinAPI::findWindowEx(hWndParent, 0, 'AxMDIChildWindow', '');
         hWnd;
         hWnd = WinAPI::findWindowEx(hWndParent, hWnd, 'AxMDIChildWindow', ''))
    {
        caption = WinAPI::getWindowText(hWnd);
        if (strStartsWith(caption, "@SYS4534"))
        {
            projName = strDel(caption, 1, strLen("@SYS4534") + 1);
            //WinAPI::flashWindowEx(hWnd, 1, 5, 200);
            break;
        }
    }
Для своих целей я не ограничиваюсь первым найденным проектом, а ищу их все, заполняю в ComboBox, делаю верхний проект выбранным в ComboBox'е, а затем предлагаю юзеру самому выбрать проект:
X++:
    for (hWnd = WinAPI::findWindowEx(hWndParent, 0, 'AxMDIChildWindow', '');
         hWnd;
         hWnd = WinAPI::findWindowEx(hWndParent, hWnd, 'AxMDIChildWindow', ''))
    {
        caption = WinAPI::getWindowText(hWnd);
        if (strStartsWith(caption, "@SYS4534"))
            Projects.add(strDel(caption, 1, strLen("@SYS4534") + 1));
    }
    Projects.selection(0);

Последний раз редактировалось Ar; 10.02.2012 в 11:47. Причина: дополнение
Теги
projectnode, проекты

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Evgeny Arlionak: Ссылки на главное меню: как получить? Blog bot DAX Blogs 2 02.02.2009 18:14
Контекстное меню. art DAX: Программирование 0 17.06.2002 10:25
Работа с главным меню в Axapta Alexey DAX: Программирование 0 04.01.2002 23:31
Удаление проекта Maxim Gorbunov DAX: Программирование 0 24.12.2001 23:04
Наброски команды IT2B Елена Сысовская DAX: Прочие вопросы 6 15.12.2001 22:36

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

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

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