Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
14-31950
Солнышко
2002-09-13 10:57
2002.10.10
Здесь есть неженатые?


1-31885
LAndrew
2002-09-28 23:22
2002.10.10
Как размножить рисунок на TabSheet?


1-31787
vixic
2002-10-02 08:07
2002.10.10
Устойчивая прога!


1-31860
Itap
2002-09-28 22:54
2002.10.10
Как поместить курсор в заданную строку


14-31969
Snake2000
2002-09-15 15:59
2002.10.10
Лучший mp3-сервер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский