|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
06.10.2008, 15:14 | #1 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
Как место меню закрытия окна вставить что-то свое?
Здравствуйте.
Как можно перехватить действие: нажатие правой кнопкой мыши по ярлыку программы в панеле Windows? Это есть на картинке. И показать вместо этого меню что-то свое (например тоже меню, но свое, улучшенное). Кто что может, подскажите. Спасибо!
лучший подарок женщине-программисту
|
06.10.2008, 15:44 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Незнаю прямых ходов, т.к. не искал не разбирался, но может поставить хук на создания окна, потом полученный в хуке хендл проверить на стиль WS_POPUP если етот стиль есть то проверить координаты окна и с областью панели задач... если где-то там прерываем окно и показываем свое.
|
06.10.2008, 15:57 | #3 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Можно переделать это меню, добавить/убрать пункты...
Тока в делфи "меню окна" и меню "кнопки на панели" разное. Доступ к первому GetSystemMenu(form1.handle, false); ко в торому GetSystemMenu(application.handle, false);
пыщь
Последний раз редактировалось JTG; 06.10.2008 в 16:04. |
07.10.2008, 12:39 | #4 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
Спасибо. Как я понял с помощью ф-ции GetSystemMenu можно только урезать меню или расширить, варьируя параметрами False и True. А как это меню убрать совсем и чтобы вместо щелчка правой кнопкой вылезала, скажем, новая форма?
лучший подарок женщине-программисту
|
07.10.2008, 19:12 | #5 | |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Цитата:
Итак, при помощи МНТм (метод научного тыка мышью), а также МНИ (метод научной интуиции), было установлено: при правом/левом клике по кнопке на панели задач приходит вот такая серия сообщений окну (application.handle, а не form.handle) $B001 ? <- Тут нажали мышь $0046 WM_WINDOWPOSCHANGING $001C WM_ACTIVATEAPP $B000 ? <- Тут отпустили мышь $007F WM_GETICON $0313 ? $00AE ? $00AE ? $00AE ? $00AE ? $0211 WM_ENTERMENULOOP $0020 WM_SETCURSOR $00AE ? $00AE ? $00AE ? $0116 WM_INITMENU $0117 WM_INITMENUPOPUP $0121 WM_ENTERIDLE B000, B001, 0313, 00AE... - в заголовках не нашёл, странно, м.б. какие-то "дельфийские" штуки Перекрыв 0313 меню перестало появляться Код:
пыщь
Последний раз редактировалось JTG; 07.10.2008 в 19:43. |
|
07.10.2008, 22:29 | #6 |
Пользователь
Регистрация: 27.09.2008
Сообщений: 38
|
а не подскажите случайно как переписать етот хук не длЯ данной проги а глобально для всех прог?
|
07.10.2008, 22:40 | #7 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Не подскажу, ибо он даже для одной проги непонятно как работает
пыщь
|
07.10.2008, 22:58 | #8 |
Пользователь
Регистрация: 27.09.2008
Сообщений: 38
|
не для 1 проги понятно ты отлавливаеш сообщения а как их глобально отловить?
|
08.10.2008, 11:46 | #10 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Код:
пыщь
Последний раз редактировалось JTG; 08.10.2008 в 11:58. Причина: * поправочка |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сохранить значение Edit после закрытия | tarakan1983 | Помощь студентам | 14 | 11.09.2008 08:25 |
Обработка события закрытия окна в С# | Kriziun | Общие вопросы .NET | 2 | 14.04.2008 14:06 |
Перехват закрытия окна | GAGARIN-NEW | Общие вопросы Delphi | 3 | 11.11.2007 12:30 |
TWebBrowser-как перехватить команду скрипта для закрытия окна и не дать ему закрыться | Вовик | Компоненты Delphi | 5 | 03.10.2007 12:17 |
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? | dimonchuk | Общие вопросы Delphi | 1 | 11.08.2007 12:13 |