Главная страница
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.015 c
6-31933
sergant33
2002-07-27 11:34
2002.10.10
Как узнать, есть соединение с инетом, или нет


1-31895
Manulo
2002-09-29 19:58
2002.10.10
Поиск...


7-32021
Big_Rom
2002-07-30 14:05
2002.10.10
Авто отрыв в дос печати


1-31752
Anar
2002-09-30 22:57
2002.10.10
Для тех кто играет в NFS


4-32081
Карлсон
2002-08-26 21:42
2002.10.10
как различить два окошка?