Как получить координаты (относительно окна) щелчка мыши в среде Windows - PullRequest
1 голос
/ 04 февраля 2011

С окном среды Windows, HWND, как получить координаты щелчка мышью по этому окну?

edit: извините за неопределенность.У меня есть объект HWND, и я делаю некоторый анализ изображения на нем.Я хочу иметь возможность щелкнуть точку на изображении, отображаемом внутри объекта HWND, и распечатать координаты x, y моего клика, а также некоторые свойства изображения с координатами x и y

Ответы [ 2 ]

2 голосов
/ 04 февраля 2011

Функции ScreenToClient и ClientToScreen выполняют преобразование между системами координат экрана и клиента.Сообщения мыши доставляются в окна в относительных координатах клиента.

Однако ваш вопрос не очень ясен, поэтому, если я не предоставил ответ, который вы ищете, отредактируйте свой вопрос, чтобы объяснить, что именно выищем.

1 голос
/ 08 февраля 2011

Основы ответа уже дал Дэвид Хеффернан.Чтобы быть более полным, это полная процедура:

Каждое окно имеет уникальный HWND, который является дескриптором внутренней структуры данных.Эта структура содержит, помимо прочего, указатель на функцию WindowProc (оконная процедура).Эта оконная процедура отвечает за обработку сообщений, таких как WM_LBUTTONUP.Каждое оконное сообщение имеет два связанных параметра, которые исторически назывались lparam и wparam.Параметр lparam WM_LBUTTONUP содержит необходимые координаты x и y.Вы можете получить их через GET_X_LPARAM(lparam) и GET_Y_LPARAM(lparam)

Windows поддерживает цепочку из нескольких WindowProc для одного HWND.Это известно как "подкласс"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...