Я собираюсь ответить на вопрос.Побочные эффекты и последствия - ваша ответственность.Есть ли другой способ сделать это?Я уверен.
Создайте переменную «state» для хранения состояния, печатает ли пользователь или нет.В текстовых полях есть различные события, которые позволяют вам знать, когда кто-то печатает, EN_CHANGE и т. Д., Это целое семейство событий и так далее.Установите переменную состояния true, когда пользователь печатает.False, когда не набирается, EN_LOSTFOCUS и т. Д.
Перехватывает ввод мыши через событие PreProcessMessage или PreTranslateMessage, или любое другое, которое кажется подходящим.
Вызовите «ShowCursor» или потенциально «SetCursor» в OnPaintсобытие, в то время как переменная состояния имеет значение true.Да, волосатые, даНе вызывайте его, пока переменная состояния имеет значение false.
Debug, debug, debug после этого.HTH
Если это не ясно, пост, и я расширю свой ответ.