Повідомлення WM_CONTEXTMENU

ПовідомленняWM_CONTEXTMENUповідомляє вікно, що користувач клацнув правою кнопкою миші (right clicked - клацання правою кнопкою) у вікні.

Дескриптор вікна, у якому користувач клацає правою кнопкою миші. Це може бути дочірнє вікно, яке приймає повідомлення. Щоб отримати додаткові відомості про обробку цього повідомлення, див. Примітки.

Молодше слово визначає горизонтальну позицію курсора в екранній системі координат під час клацання клавішею миші.

Старше слово визначає вертикальну позицію курсора в екранній системі координат під час клацання клавішею миші.

Значень, що повертаються, немає.

Вікно може обробляти це повідомлення, щоб показати на екрані контекстне меню, використовуючиTrackPopupMenuабоTrackPopupMenuEx. Щоб отримати горизонтальну та вертикальну позиції, використовуйте наступний код:

Якщо вікно не відображає контекстне меню, воно має передати це повідомлення у функціюDefWindowProc. Якщо вікно є дочірнім вікном,DefWindowProcнадсилає повідомлення батькові. ІнакшеDefWindowProcпоказує на екрані задане за умовчанням контекстне меню, якщо позиція знаходиться в заголовку вікна.

ФункціяDefWindowProcстворює повідомленняWM_CONTEXTMENUтоді, коли вона обробляє повідомленняWM_RBUTTONUPабоWM_NCRBUTTONUPабо коли користувач вводить з клавіатуриSHIFT+F10. ПовідомленняWM_CONTEXTMENUтакож створюється і тоді, коли користувач натискає та відпускає клавішуVK_APPS.

Якщо контекстне меню створюється клавіатурою - наприклад, якщо користувач вводить з клавіатуриSHIFT+F10- тоді x- та y-координати рівні-(мінус)1і програма повинна показати на екрані контекстне меню в місці поточного вибору, а не в (xPos,yPos).

Розміщення та сумісність WM_CONTEXTMENU