Событие, когда курсор меняет положение текстового поля wxWidgets? - PullRequest
0 голосов
/ 07 сентября 2010

В wxWidgets как я могу определить, когда позиция курсора изменилась в wxTextCtrl? Я посмотрел на руководство и не смог найти ни одного события, связанного с ним, но, возможно, есть другой способ, который я пропустил.

Ответы [ 2 ]

0 голосов
/ 20 сентября 2010

Я вполне уверен, что он имеет в виду курсор точки вставки, и в этом случае не происходит событие wxWidgets для изменения его положения.Кроме того, в то время как wxTextCtrl :: SetInsertionPoint () и wxTextCtrl :: SetInsertionPointEnd () являются виртуальными методами, которые могут быть перезаписаны, это позволяет отловить только ситуации, когда они изменяются программно, а не с помощью различных действий в зависимости от участия собственной платформы (что, вероятно, является причиной этого событияв настоящее время не существует в wxWidgets).

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

Моя личная рекомендация будет заключаться в поиске альтернативного решения вашей проблемы, которое неНе требуется знать положение точки вставки в любое время.Вы уверены, что вам действительно нужно знать положение точки вставки, а не только когда изменяется значение в текстовом элементе управления?

0 голосов
/ 07 сентября 2010

Поскольку wxTextCtrl наследуется от wxWindow, вы можете связать следующие события мыши с этим элементом управления: http://docs.wxwidgets.org/2.8/wx_wxmouseevent.html#wxmouseevent

Я думаю, что вас интересует EVT_MOTION (func). Однако я никогда не использовал это событие, поэтому не могу с уверенностью сказать, вызывается ли оно только при движении мыши внутри окна, к которому оно привязано (что было бы более интересным), или при глобальном движении мыши.

...