Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.10;
Скачать: CL | DM;

Вниз

WM_CONTEXTMENU & Hooks (in Win2k)   Найти похожие ветки 

 
Fellomena ©   (2002-08-27 15:31) [0]

Всем привет!!!
Объясните в чём прикол, то ли лыжи не едут, то ли ещё чего ;)
Итак, посылаю я окну приложения сообщение WM_CONTEXTMENU и ничего не происходит.
Естественно контекстное меню предусмотренно.
Смотрю в SDK - может камни есть какие:

"The WM_CONTEXTMENU message notifies a window that the user clicked
the right mouse button (right clicked) in the window."

Ну да - всё так...
Ставлю глобальный hook WH_GETMESSAGE и проверяю все приходящие WM_ на
равенство их WM_CONTEXTMENU. Затем кликаю, как ошалелая во всех окнах правой
кнопкой мыши - меню выпадает, а hook не срабатывает.
Меняю условие, ловлю WM_RBUTTONDOWN и всё нормально, всё пашет.
Но в SDK вроде ясно сказанно, что WM_CONTEXTMENU message notifies a window that the user clicked
the right mouse button (right clicked) in the window, какие тут могут быть разночтения?

Может в Win2k упразнили WM_CONTEXTMENU и используют только WM_RBUTTONDOWN/WM_RBUTTONUP 8)))
Ладно, думаю, посмотрим. Включаю WinSight и делаю трассировочку нескольких приложений.
И что вы думаете - всегда при вызове контекстного меню приходит WM_RBUTTONDOWN и соответственно WM_RBUTTONUP.

Какие мысли?

P.S. Да, передача координат мыши в сообщениях типа WM_CONTEXTMENU осуществляется следующим образом:
xPos = LOWORD(lParam);
yPos = HIWORD(lParam);

Если я в формате $FFFFFFFF передам - всё ok будет? Или можно как-нибудь понагляднее?


 
MBo ©   (2002-08-27 15:55) [1]

относительно P.S ;)
MakeLParam имеется в виду?


 
Fellomena ©   (2002-08-27 16:01) [2]

Что значит MakeLParam?
Объясни plz.
Просто lParam 8)


 
MBo ©   (2002-08-27 16:08) [3]

просто функция сведения двух word в 1 Cardinal, очевидно,
(A shl 16) or B

например sendmessage(EM_CHARFROMPOS,0,MAKELPARAM(x, y))


 
Игорь Шевченко ©   (2002-08-27 16:18) [4]

Вообще-то после нажатия правой кнопки мыши Spy++ показывает сообщение WM_CONTEXTMENU (WM_RBUTTONDOWN, WM_NCHITTEST, WM_SETCURSOR, WM_RBUTTONUP, WM_CONTEXTMENU)

Может, в консерватории что-то поправить ?



Страницы: 1 вся ветка

Текущий архив: 2002.10.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-31882
Newguy
2002-09-30 03:44
2002.10.10
Richedit


1-31858
Walker
2002-09-29 00:39
2002.10.10
COM, интерфейсы


1-31717
Оля
2002-09-25 16:54
2002.10.10
Циклы


14-32019
ikivio
2002-09-14 06:30
2002.10.10
Хранение информации


7-32030
MAYOR
2002-07-29 18:39
2002.10.10
При выключении лог.диски начинают содержать ошибки