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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.02.2009, 13:22   #5  
petergunn is offline
petergunn
Участник
 
118 / 274 (10) ++++++
Регистрация: 30.08.2005
Адрес: Tyumen
Мелкие штрихи
Цитата:
Сообщение от miklenew Посмотреть сообщение
Ну у меня что-то похожее получилось
X++:
int getRightPointer()
{
    Binary      data            = new Binary(32);
    DLL         _winApiDLL      = new DLL('user32');
    DLLFunction fun  = new DLLFunction(_winApiDLL, 'GetWindowRect');
;

    fun.returns(ExtTypes::DWord);

    fun.arg(ExtTypes::DWord, ExtTypes::Pointer);
    fun.call(infolog.hWnd(), data);

    return data.dWord(8);
}

Хм... мне кажется логика getRightPointer() в текущей реализации (использование GetWindowRect вместо GetClientRect) может работать не совсем корректно.
2 момента на которые обратил внимание:
  1. GetWindowRect() дает координаты окна относительно экрана в виде [left, top, right, bottom] - data.dWord(8) = right возвратит правую координату окна по горизонтали, а не ширину его. Если Ax открыта не в режиме 'на весь экран' (SW_MAXIMIZE), то открываемая форма должна уйти за правую границу рабочей области Ax - ровно на растояние от левого края экрана до левой границы Ax.
  2. Если имеются открытые окна с правой стыковкой (окно свойств, например) - то это тоже повлияет правое выравнивание (координаты и размеры окна Ax не изменятся - а вот 'рабочая область' будет меньше).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Форма RunBase открывается в углу Delfins DAX: Программирование 3 18.01.2008 11:34
как открыть форму в фоном режиме Didar DAX: Программирование 3 12.07.2007 10:02
Как обновить форму, если добавление через кнопку? Arahnid DAX: Программирование 5 21.05.2007 11:18
Можно ли редактировать форму, если на нее наложен addRange? Hans DAX: Программирование 10 22.05.2006 16:35
Проблема - не получается редактировать форму shestakov DAX: Программирование 1 18.12.2001 13:32

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

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

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