Главная страница
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.011 c
4-32112
anod
2002-08-22 18:00
2002.10.10
GetOpenFileName


1-31816
tg_o
2002-09-29 16:47
2002.10.10
Please Help :) Минимизация Окна


1-31832
davyd
2002-09-24 23:13
2002.10.10
Запустить программу до ввода логина


1-31741
22606
2002-10-01 12:21
2002.10.10
как узнать абсолютное значение Rect для ячейки Grid


4-32065
Jazzy$
2002-08-23 20:01
2002.10.10
Tooltip window