13.09.2005, 18:28 | #21 |
NavAx
|
Короче, раз никто толком WinAPI не знает, будем учить.
В общем, рецепт оказался универсальный. Можно сменить как кисть фона (как в моем примере), так и собственно, и значок (ессно, его придется загрузить перед этим). Вкратце: PHP код:
PHP код:
недостаток у этого способа только один - при злоупотреблении сменой фона исходные кисти, которой был он был заполнен до очередной смены, не будут автоматом удалены при завершении приложения(что к WinNT-based не относится). Впрочем, это легко исправить. Достаточно удалять старые кисти/иконки/что ещё вызовом DeleteObject. (Upd: все-таки приделал. Чтоб всё было по-правилам). Пишу я, значит, это, а Аксапта имеет у меня такой гламурный-гламурный вид... P.S. Ну, блин, ну нафига же смайлики разворачивать в X++ коде, а, Mazzy? |
|
|
За это сообщение автора поблагодарили: mazzy (15). |
13.09.2005, 18:47 | #22 |
Участник
|
Только лицензия стала прямоугольная
__________________
Axapta v.3.0 sp5 kr2 |
|
13.09.2005, 18:52 | #23 |
NavAx
|
Как это?
У меня она как была квадратная, так и осталась. Хмм... разве что если включены разнообразные XP-извращения вроде полукруглых окошек, такое может быть... А в таком случае - ССЗБ. А вообще - спасибо за идею насчет значков Ruff. Идея до конца дня лежала где-то на периферии сознания, когда вечером для разминки решил таки попробовать её реализовать. |
|
13.09.2005, 18:55 | #24 |
Участник
|
Душа тянется к прекрасному
__________________
Axapta v.3.0 sp5 kr2 |
|
13.09.2005, 19:04 | #25 |
NavAx
|
А вообще - если лицензия стала прямоугольной - закажите у Columbus'а новую.
Или подклейте скотчем пару полосок 10x2 см к уже существующей. |
|
|
За это сообщение автора поблагодарили: blokva (1). |
13.09.2005, 19:18 | #26 |
Участник
|
Нет, надо в Microsoft устроить новый тестовый забег на предмет страшного бага.
__________________
Axapta v.3.0 sp5 kr2 |
|
13.09.2005, 19:21 | #27 |
Участник
|
Она зараза еще и крупнее. Вот к чему ведет тяга к прекрасному
__________________
Axapta v.3.0 sp5 kr2 |
|
13.09.2005, 23:40 | #28 |
Участник
|
Цитата:
Изначально опубликовано Maximin
P.S. Ну, блин, ну нафига же смайлики разворачивать в X++ коде, а, Mazzy? |
|
14.09.2005, 16:50 | #29 |
Пенсионер
|
Цитата:
Изначально опубликовано mazzy
Спасибо, записал в ТЗ на доработку форума.
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
14.09.2005, 20:02 | #30 |
Участник
|
да уже давно.
|
|
14.09.2005, 20:15 | #31 |
Пенсионер
|
Цитата:
Изначально опубликовано mazzy
да уже давно.
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
14.09.2005, 20:19 | #32 |
Пенсионер
|
Вот в файле картинка
не вставляется почему-то
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
08.07.2006, 14:21 | #33 |
Пенсионер
|
Меняем стандартную иконку
Возвращаясь к теме по причине того, что периодически возникают проблеммы с "перепутыванием" открытых экземпляров...а это раздражает...оно меня раздражает (с) Жванецкий
Идея и подсказка Maximin, за что большой респект (к сожалению только 1) дополнительно к методу WinAPI::setClassLong() добавляем метод в WinGDI PHP код:
ну и собсно меняем: PHP код:
ззы: у себя я меняю автоматически при входе в опре деленный экземпляр аксапты путем указания и последующей обработки необходимой команды в поле "Startap Command" в конфигурационной утилиты. Если интересует могу рассказать как. Добавил скриншотик, как это выглядит в таскбаре, по порядку: тестовая, рабочая, локальная
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ Последний раз редактировалось blokva; 08.07.2006 в 14:34. |
|
|
За это сообщение автора поблагодарили: Antant (1). |
10.07.2006, 07:42 | #34 |
Участник
|
Пытаюсь поставить свою строку в заголовке окна в начале работы системы - не получается. Происходит какое-то обновление всего окна сразу после загрузки системы. Можете подсказать метод, который вызывается после такого обновления, чтобы название окна не менялось после того, как я его изменю.
__________________
И почему никто меня не любит? Да, я надоедливый |
|
10.07.2006, 10:46 | #35 |
Пенсионер
|
Цитата:
Сообщение от Antant
Пытаюсь поставить свою строку в заголовке окна в начале работы системы - не получается. Происходит какое-то обновление всего окна сразу после загрузки системы. Можете подсказать метод, который вызывается после такого обновления, чтобы название окна не менялось после того, как я его изменю.
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
10.07.2006, 11:03 | #36 |
Участник
|
\Classes\Info\onEventGoingIdle
X++: //Event fired by kernel when the client goes idle. //It is not fired during CTRL-Break dialog. void onEventGoingIdle() { this.operationProgressClear(); this.endLengthyOperation(true); /// if(strLwr(curUserID())!='admin') TitleChanger::changeTitle(); } X++: static void changeTitle() { #define.WM_SETTEXT(0x000C) str caption; str prefix=new Session().AOSName()+": "; int defWindowProc( int _handle, int _msg, int _wParam, str _lParam ) { int ret; DLL _DLL = new DLL('USER32'); DLLFunction _defwproc = new DLLFunction(_DLL, 'DefWindowProcA'); ; _defwproc.returns(ExtTypes:: DWord); // LRESULT _defwproc.arg(ExtTypes:: DWord); // handle window _defwproc.arg(ExtTypes:: DWord); // message _defwproc.arg(ExtTypes:: DWord); // wparm _defwproc.arg(ExtTypes::String); // lparm return _defwproc.call(_handle, _msg, _wParam, _lParam); } ; caption = winapi::getWindowText(infolog.hWnd()); if(!StrUtils::startsWith(caption, prefix)) defWindowProc(infolog.hWnd(), #WM_SETTEXT, 0, prefix + caption); } X++: // строка _s начинается на _suffix static boolean startsWith(str _s, str _prefix) { return strLen(_s)>=strLen(_prefix) && subStr(_s, 1, strLen(_prefix))==_prefix; } |
|
|
За это сообщение автора поблагодарили: blokva (1), gl00mie (1), Antant (1), Sergey Petrov (1), kpoxa (0). |
19.01.2007, 16:44 | #37 |
Banned
|
Для справки: в 4.0 больше не работает. Теперь окно MDIClient состоит из Navigation Pane и "серого квадрата", который, очевидно, каждый раз заливается заново в .paint(). Дочерние окна прорисовываются не на "заднем фоне" родительского окна, а поверх этого квадрата. А жаль.
|
|
01.08.2007, 08:56 | #38 |
Пенсионер
|
Цитата:
Ос-с-сина нада...
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
15.10.2007, 16:25 | #39 |
Пенсионер
|
Цитата:
Небольшое уточнение в "Диспетчере задач" показывается измененная иконка!!!
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
30.12.2009, 13:19 | #40 |
Участник
|
Ни у кого не получилось решить задачку со сменой значка 4.0/5.0 ?
__________________
И почему никто меня не любит? Да, я надоедливый |
|
Теги |
ax2009, axapta, download, faq, winapi, база данных, внешний вид, законченный пример, иконка, интерфейс, полезное, фон |
|
|