Включимо до карти повідомлень макрокоманду повідомлення:
BEGIN_MESSAGE_MAP(CMainWin,CFrameWnd)
ON_WM_LBUTTONDOWN() // обробка натискування лівої клавіші миші
ON_WM_RBUTTONDOWN()
END_MESSAGE_MAP()
Включимо прототип обробника у клас головного вікна:
сlass CMainWin : public CFrameWnd
[public: CMainWin();
void OnLButtonDown( UINT Flags, CPoint Loc);
void OnRButtonDown( UINT Flags, CPoint Loc);
// прототип функції обробника натискування лівої клавіші миші
DECLARE_MESSAGE_MAP()
];
Реалізуємо обробник, у якому натискування лівої клавіші миші забезпечує виведення рядка із координатами курсору та текстом:
void CMainWin::OnLButtonDown(UINT Flags, CPoint Loc)
[CClientDC dc(this); // отримання контексту вікна
char str[255]; // змінна для зберігання рядка
wsprintf(str,“Натиснута ліва клавіша миші”, Loc.x, Loc.y);
// копіювання тексту та координат миші у змінну str
dc.TextOut(Loc.X, Loc.Y, str, strlen(str)); // відображення тексту
]