2016-03-23 2 views
0

Привет, Я написал приложение, которое меняет курсор в зависимости от его расположения в клиентской области. Однако я заметил, что когда я нажимаю на левую кнопку мыши, курсор возвращается к значку стрелки по умолчанию. Я переопределил afx_msg void CWnd :: OnLButtonDown. И не вызывайте в нем никакой функции базового класса (он полностью пуст). Любая идея, что может заставить CDialogEx изменить курсор? Кто обрабатывает сообщение левой кнопкой мыши?Предотвратить приложение MFC, чтобы изменить курсор на значок по умолчанию

+0

У вас не было много кода, неясно, что вы делаете или что вам нужно. Начните с перегрузки 'OnSetCursor()' –

+0

Я более или менее пытаюсь написать свой собственный ящик, похожий на MDI-приложение MFC, поэтому я рисую собственные окна внутри диалога с границами и пытаюсь имитировать курсорное поведение стандартного курсора. Однако это швы, что просто установка неправильного типа курсора недостаточно. Вы дали мне хорошее направление, и я уверен, что тестирование регионов с горячими точками также является чем-то, о чем я должен думать. – Boris

ответ

0

Обычно, вам нужно переопределить OnSetCursor(), и, если мышь находится в месте, где вы хотите конкретный курсор, вызовите SetCursor() и вернуть TRUE так что DefWindowProc не сбрасывает его обратно стрелки по умолчанию.

Смежные вопросы