Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
14-31994
Wolf226
2002-09-13 16:01
2002.10.10
Существует ли AutoIncrement в Серверных БД?


1-31751
XED
2002-09-27 21:12
2002.10.10
Пароли к ОутГлюку.


3-31611
Осирис
2002-09-18 17:28
2002.10.10
Поле с именем SIZE


1-31755
Андрусь
2002-09-24 17:00
2002.10.10
проблемы с активизацией приложения


7-32026
Muskat
2002-07-30 21:34
2002.10.10
Как сделать свою оболочку, вместо Explorer’а?




   Наверх