12.09.2005, 15:43 | #1 |
NavAx
|
Покрасить фон Аксапты
Короче - для удобства юзверей есть задачка.
Грубо говоря - нужно установить фон окна Аксапты в определенный цвет. Есть два требования: 1. Должно позволять покрасить две разных одновременно запущенных Акспт в разные цвета. 2. Не должно быть в виде внешней .dll, .ocx и т.д. P.S. SetSysColors по понятным причинам не катит. Или катит, но как тогда ловить фокус окна? |
|
12.09.2005, 19:32 | #2 |
Участник
|
Какое окно имеется в виду?
__________________
Axapta v.3.0 sp5 kr2 |
|
12.09.2005, 19:37 | #3 |
NavAx
|
Все подряд.
Имеется в виду фон, который видно сразу после запуска и появления главного меню (тот, который за самим меню, ну блин, не знаю, как еще объяснить). Короче - MDIChild, если что-то кому-то это говорит. То место, на фоне которого появляются все формы, главное меню и прочая лабуда под названием MS Axapta v xx.xx SP yy CU zz. |
|
12.09.2005, 19:40 | #4 |
Модератор
|
Ну, хотя бы главное меню перекрасить
Типа hWnd = WinAPI::findWindow(0, "Главное меню"). Потом получить дс... и перекрасить. Короче, кто-нибудь делал? С Уважением, Георгий |
|
12.09.2005, 19:51 | #5 |
Участник
|
Было давно, год или два назад, несколько обсуждений... цель-то ясна - не запутаться в нескольких одновременно запущенных у одного юзера базах, так ?
|
|
13.09.2005, 01:27 | #6 |
Banned
|
Цитата:
Изначально опубликовано Zabr
Было давно, год или два назад, несколько обсуждений... цель-то ясна - не запутаться в нескольких одновременно запущенных у одного юзера базах, так ? Плюсы: модификация всего на пол-экрана кода, простая, работает предельно быстро. Минусы: цвет control'ов остается прежним, т.е. поля, скажем, как бы остаются серыми "островками" посреди цветного "моря". Можно исправить, работая с каждым элементом в дизайне отдельно, но есть подозрение, что тогда упадет производительность. Чисто эстетически выглядит отвратно, но пользователи хавают. Если хотите, могу поискать и предоставить код. |
|
13.09.2005, 07:10 | #7 |
Участник
|
Было бы интересно посмотреть
|
|
13.09.2005, 09:24 | #8 |
Участник
|
Извините, но задачу идентификации окна Axapta можно реализовать намного проще и элегантнее. IMHO
PHP код:
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: mazzy (5). |
13.09.2005, 10:21 | #9 |
Участник
|
Огромное, AndyD, Вам спасибо!!! |
|
13.09.2005, 11:20 | #10 |
NavAx
|
Нууу, эт не совсем то, что требовалось. так я и сам могу.
Надо, чтобы даже самый тупой юзверь при всем желании не смог перепутать. Опять же - кто-то может включить автоскрытие панель задач, и возвращаемся к исходному варианту. P.S. Кстати, а прямо SetWindowText там что, не прокатил бы? Аааа, там наверное, стандартная обработка WM_SETTEXT откручена, чтоб никакой злобный хацкер не поменял заголовок... Хм, забавно, но защита от хацкеров-дураков, конечно... |
|
13.09.2005, 11:32 | #11 |
Участник
|
Вообще-то infolog.hWnd() - это хэндл главного окна Axapta, а элегантность решения - необходимое вам название будет видно и на панели задач и при переключении м-ду процессами ч/з ALT+TAB
__________________
Axapta v.3.0 sp5 kr2 |
|
13.09.2005, 12:18 | #12 |
NavAx
|
Я знаю, что это хэндл главного окна.
Я хочу сказать, что если напрямую послать ему SETTEXT или сказать ему SetWindowText, то фокус не пройдёт. А вот если вызвать DefWindowProc, то прокатит. Причем здесь элегантность при переключении, я не понял. Ну, будет видно, и ладно. Исходная цель была - чтобы различие бросалось в глаза. А с изменением названия окна - не то, чтобы очень... |
|
13.09.2005, 12:26 | #13 |
Участник
|
еще можно прицепить задоченное незакрываемое окно красного цвета к верхнему тулбару.
и чтоб мигало и переливалось по таймеру. тогда точно бросится |
|
13.09.2005, 12:27 | #14 |
Участник
|
Я имел в виду, что если у пользователя запущено несколько окон Axapta, то чтобы выяснить в каком ему надо работать придется их перебирь (ну или помнить), а так список будет у него перед глазами
__________________
Axapta v.3.0 sp5 kr2 |
|
13.09.2005, 13:25 | #15 |
NavAx
|
Прошу прощения, что не по существу. Задачка, конечно, интересная, но я никак не могу понять, зачем различать запущенные аксапты? Для различия между компаниями или серверовами? Не слишком ли это накладно, покупать по нескольку лицензий на одного пользователя?
__________________
Isn't it nice when things just work? |
|
13.09.2005, 13:46 | #16 |
Дмитрий Ерин
|
Цитата:
Изначально опубликовано Maximin
Исходная цель была - чтобы различие бросалось в глаза. А с изменением названия окна - не то, чтобы очень... Хотя... можно было, наверное, развить идею - нарисовать свои значки... И про цвет рабочей области тоже думал... Но потом забил - и так вполне устраивает
__________________
|
|
13.09.2005, 14:33 | #17 |
NavAx
|
2 macklakov:
Есть 2 базы - рабочая и тестовая. Соответственно, чел по запарке может сесть не на ту базу и давай заказы фигачить. 2 Ruff: Я тоже уже подумал насчет значков. Наверное, так и сделаем. |
|
13.09.2005, 16:45 | #18 |
Участник
|
А как значок поменять для окна Axapta?
|
|
13.09.2005, 17:47 | #19 |
Участник
|
Извинения автору, но если кому-нибудь пойдет раскраска с использованием dll напишите, выложу
__________________
Axapta v.3.0 sp5 kr2 |
|
13.09.2005, 17:53 | #20 |
NavAx
|
2 AndyD: Как мнимум, мне интересно Выложите, пожалуйста.
P.S. Хотя идея с закрашиванием фона и не так красива, как идея, с раскрашиванием курсора
__________________
Isn't it nice when things just work? |
|
Теги |
ax2009, axapta, download, faq, winapi, база данных, внешний вид, законченный пример, иконка, интерфейс, полезное, фон |
|
|