Я не совсем понима, в чём проблема-то?
Пример. Делаем mfc-проект, диалоговый. На диалог кладём richedit. Заходим в класс-визард. Там выбираем IDC_RICHEDIT1 и говорим, что будем обрабатывать его EN_CHANGE. На тут же создают:
Код:
void CTestDlg::OnChangeRichedit1()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
Пишите там, что угодно.
Можно отследить, что и где прописывает класс-визард при этом.
А именно он делает:
Код:
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
//{{AFX_MSG_MAP(CTestDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_EN_CHANGE(IDC_RICHEDIT1, OnChangeRichedit1) <------------ в имплементейшене
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
и
Код:
// Generated message map functions
//{{AFX_MSG(CTestDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnChangeRichedit1(); <------------ в хидере
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
Что не понятно?