Отслеживание курсора мыши

Win32-приложения часто выполняют задачи, которые включают отслеживание положения курсора мыши. Большинство графических приложений, к примеру, отслеживать его во время рисования операций, что позволяет пользователю извлечь в клиентской области окна, перетаскивая мышью. Текстовых приложений также отслеживать курсора, что позволяет пользователю выделить слово или блок текста, щелкнув и перетаскивая мышью.

Отслеживание курсора обычно включает в себя обработку сообщений WM_LBUTTONDOWN, WM_MOUSEMOVEи WM_LBUTTONUP . Окно определяет момент начать отслеживание курсора, установив курсор в параметре lParam сообщения WM_LBUTTONDOWN. Например текстового редактора начнется отслеживание курсора, только если сообщение WM_LBUTTONDOWN произошло в то время как находился курсор на строку текста, но если не было конца документа.

Окно отслеживает положение курсора, обработки сообщений потока WM_MOUSEMOVE, размещенных в окно при перемещении мыши. Обработка WM_MOUSEMOVE сообщения обычно включает в себя повторяющихся живописи или рисование операцию в клиентской области. К примеру приложение рисования может перерисовывать линия неоднократно при перемещении мыши. Окно использует WM_LBUTTONUP сообщение как сигнал прекратить отслеживание курсора.