Потерянный Фокус и GotFocus в C ++ - PullRequest
4 голосов
/ 15 сентября 2009

Как добавить код к этим событиям для нативного c ++?

Я не смог найти WM_LOSTFOCUS ИЛИ WM_GOTFOCUS; Я нашел только WM_SETFOCUS. Мне нужно, чтобы код появлялся, когда мое окно теряет фокус и восстанавливает его.

Спасибо.

Ответы [ 4 ]

10 голосов
/ 15 сентября 2009

ПРОСТО, ДО того как ваше окно потеряет фокус, оно будет отправлено: WM_KILLFOCUS
ПОСЛЕ ТОГО, КАК ваше окно получит фокус, оно будет отправлено: WM_SETFOCUS

Отправка сообщения WM_SETFOCUS не устанавливает фокус. Вам нужно позвонить SetFocus для этого.

3 голосов
/ 30 ноября 2012

Для элемента управления редактирования WM_KILLFOCUS не будет работать.

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

2 голосов
/ 15 сентября 2009

Сообщение, которое вы ищете - WM_KILLFOCUS

0 голосов
/ 05 февраля 2012

Вы также можете рассмотреть WM_ACTIVATE . Когда главное окно, сообщение об активации может быть единственным решением.

...