Lost Focus e GotFocus in c ++
Domanda
Come si aggiunge il codice a questi eventi per c ++ nativo?
Non sono riuscito a trovare un WM_LOSTFOCUS
OPPURE WM_GOTFOCUS
; Ho trovato solo WM_SETFOCUS
. Ho bisogno che il codice accada quando la mia finestra perde lo stato attivo e lo riacquista.
Grazie.
Soluzione
SOLO PRIMA che la tua finestra perda lo stato attivo che verrà inviata: WM_KILLFOCUS
DOPO che la tua finestra diventa attiva, verrà inviata: WM_SETFOCUS
L'invio di un messaggio WM_SETFOCUS non imposta lo stato attivo. Per questo devi chiamare SetFocus.
Altri suggerimenti
Per un controllo di modifica, WM_KILLFOCUS
non funzionerà.
Mi ci è voluto troppo tempo per capire che avevo bisogno di EN_KILLFOCUS . Speriamo di salvare il prossimo ragazzo un po 'di tempo.
Il messaggio che stai cercando è WM_KILLFOCUS
Puoi anche prendere in considerazione WM_ACTIVATE . Per quanto riguarda la finestra principale, il messaggio di attivazione potrebbe essere l'unica soluzione.