Messaggi di CEdit in Visual C ++ 6.0

Ho un CDialog contiene molti oggetti CEdit . Devono eseguire tutte operazioni simili quando si uccide il focus (ad esempio: quando viene messa a fuoco, il testo della casella di modifica viene modificato).

Posso definire la mappa dei messaggi del dialogo in questo modo:

 ON_EN_KILLFOCUS(ID1, kf1) ON_EN_KILLFOCUS(ID2, kf2) ON_EN_KILLFOCUS(ID3, kf3) ON_EN_KILLFOCUS(ID4, kf4) 

e tutta la funzione kf chiamerà una funzione comune:

 CommonFunction(CEdit* editBox) 

Ma esiste un modo per trasferire la casella di modifica nella funzione kf stessa? Intendo definirlo in questo modo:

 ON_EN_KILLFOCUS(ID1, kf(ID1)) ON_EN_KILLFOCUS(ID2, kf(ID2)) ON_EN_KILLFOCUS(ID3, kf(ID3)) ON_EN_KILLFOCUS(ID4, kf(ID4)) 

o in un altro modo.

NOTA: utilizzo Visual C ++ 6.0 (edizione ’98)

Puoi utilizzare ON_CONTROL_RANGE nella mappa dei messaggi per inviare tutti i messaggi alla stessa funzione. Per fare ciò è necessario assicurare che gli ID siano in un intervallo continuo. (Modifica resource.h se necessario.)

 ON_CONTROL_RANGE(BN_CLICKED, IDC_RADIO_DRAWALL, IDC_RADIO_DRAWBEST, OnRadioBtnDraw) void CVisualPPView::OnRadioBtnDraw(UINT nID) { }