![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Aehn |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 24.4.2008 Репутация: нет Всего: нет |
Надо перехватить сообщение при нажатии на правую кнопку мыши
Пытаюсь делать такую вещь:
Вещь компилируется, работает, но при нажатии на правую кнопку делает все как и делала до написания этой процедуры. Никакого сообщения не показывает. Что я делаю не так? |
|||
|
||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 15 Всего: 76 |
Aehn, значит кто-то раньше перехватывает WM_RBUTTONDOWN. Что у тебя еще в проекте используеться? Если код не брльшой, выкладывай.
Добавлено через 1 минуту и 53 секунды у тебя на форме случаем ничего не лежит, может ты кликаешь по чему-то другому? -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
Christoph |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: 5 Всего: 11 |
Сейчас подумаем....
![]() Это сообщение отредактировал(а) Christoph - 25.7.2008, 15:16 -------------------- ![]() |
|||
|
||||
Christoph |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: 5 Всего: 11 |
Сделал....Работает
ой та и твой код рабочий...если нажимаешь на форму...работает, а если клацнешь на компонент правой кнопкой, то ничего не будет обрабатываться Это сообщение отредактировал(а) Christoph - 25.7.2008, 15:24 -------------------- ![]() |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
Можно попробовать подменить WindowProc...
Пример:
|
|||
|
||||
Arigato |
|
|||
![]() Программист Профиль Группа: Участник Сообщений: 5 Регистрация: 27.7.2008 Где: Россия Репутация: нет Всего: нет |
Я извиняюсь, а почему просто не использовать события формы OnMouseDown или OnMouseUp?
|
|||
|
||||
Aehn |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 24.4.2008 Репутация: нет Всего: нет |
Проблема в том, что на правой кнопке висит PopupMenu. Была идея отрубить PopupMenu на время выполнения обработчика и вызывать его в конце процедуры обработчика, но как это сделать? Ведь у Popup menu четко прописана кнопка по которой оно вызывается (Свойство TrckButton). Либо правая, либо левая тертьего не дано, чтобы оно просто было в памяти и вызывалось когда ей прикажут. Код уже приличный, тащить его сюда - себе дороже.
OnMouseDown, OnMouseUp отрабатывают интересным образом, вначале вызывается popupmenu а уж потом все, что мне нужно. Положение Inherited (после/до того, что мне нужно) для правой кнопки не срабатывает, только для левой. Короче, вся надежда на свой обработчик, который пока тоже не срабатывает до вызова этого чертового popupmenu. Нужно, чтобы когда мы нажимали правую кнопку мыши у меня отрабатывалась моя процедура, потом выпадало меню, пункты которого работают для выделенного узла TreeView. |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
||||
|
||||
Aehn |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 24.4.2008 Репутация: нет Всего: нет |
Как раз непонятно как отрубить. А эта штука PopupMenu1.Popup(X, Y); вызывается для левой кнопки нормально, для правой при задании X,Y Попап меню все равно непосредственно под курсором.
А как ее отрубить? |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
Как отрубить? В инспекторе объектов убрать PopupMenu. Или я чего-то не понимаю?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |