|
![]() |
#1 |
MCTS
|
|
|
![]() |
#2 |
Участник
|
Обновил.
- Если картинка подложки не найдена - не ругается, что не может загрузить. |
|
![]() |
#3 |
Участник
|
Обновил (см. первый пост)
1. Добавлен режим "Как в Дельфи" (Спасибо Kashperuk Ivan за идею). Если в путь прописать картинку с десктопа и включить этот режим - будет как на скриншоте (см. ниже). 2. Изменение интерфейса окна настроек. |
|
![]() |
#4 |
Участник
|
Обновил для 4ки.
|
|
![]() |
#5 |
Участник
|
У нас нарисовалась задача дать пользователям наглядную возможность знать, в какой компании они работают (код компании в статусной строке показался слишком мелким). После некоторых исследований решили, что разный фон в разных компаниях будет достаточным индикатором. В результате, на основе AxPaint родился проект. Если кому интересно, можно воспользоваться. Проект для DAX4 SP2.
Установка проекта: Загрузить два раза, откомпилировать. Так как затронуты базовые классы, можно перезапустить AOS. Поместить менюитем AxPaintSetupDefault_OVK в какое-нибудь меню (у нас Основное\Настройка). При помощи данного меню открыть форму настройки раскраски рабочей области по умолчанию для разных компаний. Впоследствии каждый пользователь может открыть форму настройки (как описано в файле, идущем к AxPaint) и настроить цвета/рисунки под себя. Необходимость использования функционала настраивается в параметрах пользователя на вкладке "Разное" флагом "Раскрашивать фон". В проекте не используются метки, поэтому те, кому это требуется могут выполнить проверку и заменить литералы на метки. Естественно, что для работы требуется сам COM объект AxPaint. Та как изначально проект создавался не на чистом DAX4 SP2, то возможны неоторые атрефакты наших модификаций. Чтобы легче было разобраться, все новые объекты имеют постфикс _OVK, а изменения в коде отмечены комментариями: X++: // ААК: НФД40_08_02_002 08.08.2008 [Раскрашивание рабочей области] Последний раз редактировалось Raven Melancholic; 06.12.2008 в 13:45. |
|
![]() |
#6 |
Axapta Retail User
|
Всем добрый день!
Возникла необходимость запускать форму настроек фона из кода, т.е. необходимо было имитировать нажатие клавиш ALT+S из кода. Попробовал сделать так. Добавил метод в класс AxPaint: X++: public FormRun formRunPaint() { return formRunPaint; } X++: FormActiveXControl activeX()
{
return ActiveX;
} X++: static void Job52(Args _args) { #define.WM_SYSKEYDOWN(0x0104) #define.VK_S(0x53) AxPaint axPaint = AxPaint::getAxPaint(); FormActiveXControl activexctrl; Object formRun; ; if(axPaint.formRunPaint()) { formRun = axPaint.formRunPaint(); activexctrl = formRun.activeX(); WinAPI::sendMessageEx(activexctrl.hWnd(), #WM_SYSKEYDOWN, #VK_S, 0x20200001); } } |
|
![]() |
#7 |
Участник
|
Цитата:
Вам так обязательно вызывать эту форму? Как вариант вызывать X++: ActiveX.Import(path,r,g,b,license, useBrush, bitblt, stretchBlt, delphi); ![]()
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
![]() |
#8 |
Axapta Retail User
|
Хм.. Может что-то не понимаю, но если выполнить этот код, то отправляется ALT+F4(закрытие приложения):
X++: #define.VK_F4(0x73) WinAPI::sendMessageEx(infolog.hWnd(), #WM_SYSKEYDOWN, #VK_F4, 0x20200001); Пользователь настроил как ему надо и сохранил. Например, при открытии аксапты, если фон для пользователя не установлен, то нужно автоматически запускать форму настройки. |
|
Теги |
winapi, законченный пример, интерфейс, фон |
|
|