В основном сейчас я загружаю растровое изображение на кнопку в четырех состояниях, а именно:

Случаи:

  1. Когда я сначала запускаю свое приложение, кнопки загружаются с растровым изображением.
  2. При наведении курсора мыши я загружаю другое растровое изображение.
  3. И аналогично загрузка растрового изображения при нажатии кнопки.
  4. Наконец, четвертое состояние - когда я нажимаю вкладку, фокус продолжает переключаться с одного элемента управления на другой с прямоугольной пунктирной линией.

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

Я долго гуглил и не понимал, как решить эту проблему.

Изначально, когда я запускаю свое приложение, оно выглядит следующим образом:

enter image description here

Когда я нажимаю Tab, прямоугольное выделение переходит к кнопке. Теперь, когда элемент управления кнопки получает этот прямоугольный фокус, мне нужно загрузить растровое изображение, а когда кнопка покидает фокус, мне нужно загрузить другое растровое изображение.

После Tab нажмите

enter image description here

Что касается наведения мыши, у нас есть событие BCN_HOTITEMCHANGE, которое запускается, и мы можем обрабатывать вход и выход мыши. Подобно этому, есть ли у нас какой-либо, который срабатывает, когда он получает, теряет фокус?

Может ли кто-нибудь помочь мне решить эту проблему.

0
Siva 19 Мар 2015 в 12:57

1 ответ

Лучший ответ

Честно говоря, я не совсем понимаю, что вы пытаетесь сделать. Но если для кнопки установлен стиль окна BS_NOTIFY, ее родительское окно получит сообщение WM_COMMAND с HIWORD, установленным на BN_SETFOCUS, когда кнопка получает фокус, и BN_KILLFOCUS, когда он теряет это.

1
Jonathan Potter 19 Мар 2015 в 13:47
Спасибо большое, я забыл добавить к кнопке стиль BS_NOTIFY. Теперь это работает.
 – 
Siva
23 Мар 2015 в 07:46