_PitrakSarkar_ Ответов: 1

Получение координат мыши внутри элемента управления clistbox в mfc


Привет,
Я могу обрабатывать события перемещения мыши и получать координаты мыши в диалоговом окне; но когда мышь перемещается внутри ClistBox, я не могу получить координаты. Не могли бы вы пожалуйста помочь?

Что я уже пробовал:

Я могу получить координаты мыши, когда я перемещаю мышь в диалоговом окне; но как только мышь входит в элемент управления clistbox, я не получаю никакого сообщения в функции OnMouseMove(); это ожидаемо. Но тогда как я должен получить координаты мыши в списке?

1 Ответов

Рейтинг:
2

_PitrakSarkar_

Я пишу этот ответ, чтобы другие могли получить помощь в случае, если кто-то еще столкнется с этой проблемой. Во-первых, вы не можете напрямую обрабатывать сообщения о перемещении мыши из Clistbox. Итак, вы создаете новый класс на основе класса ClistBox, а затем обрабатываете OnMouseMove () в этом классе.Затем внутри этой функции OnMouseMove () вы должны получить элемент в clistbox на основе координат мыши (как упоминалось IInspectable).

Пример кода см. ниже.

BOOL b;
int n = ItemFromPoint(point,b);
CString str;
GetText( n,str);
AfxMessageBox(str);


Я думаю, что подобное решение должно работать и для других элементов управления, таких как CButton и т. д.
Надеюсь, это поможет.