Таблица сообщений класса CFtpViewDlg
Таблица сообщений класса CFtpViewDlg состоит из макрокоманд BEGIN_MESSAGE_MAP и END_MESSAGE_MAP. Между ними расположены макрокоманды, определяющие сообщения обрабатываемые данным классом. Как видите, они расположены в блоке AFX_MSG_MAP, поэтому для управления ими используется ClassWizard.
Необработанные сообщения передаются базовому классу CDialog, так как он указан во втором параметре макрокоманды BEGIN_MESSAGE_MAP:
//============================================================
// Таблица сообщений класса CFtpViewDlg
//============================================================
BEGIN_MESSAGE_MAP(CFtpViewDlg, CDialog)
//{{AFX_MSG_MAP(CFtpViewDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
// Сообщение от кнопки Connect
ON_BN_CLICKED(IDC_CONNECT, OnConnect)
// Сообщение от кнопки On Top
ON_BN_CLICKED(IDC_ON_TOP, OnOnTop)
// Сообщение с кодом извещения NM_DBLCLK от списка
ON_NOTIFY(NM_DBLCLK, IDC_FTP_LIST, OnDblclkFtpList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
Две первые макрокоманды, расположенные в данной таблице сообщений - ON_WM_PAINT и ON_WM_QUERYDRAGICON. При помощи ClassWizard вы можете обнаружить, что данные макрокоманды выполняют обработку сообщений WM_PAINT и WM_QUERYDRAGICON, вызывая для этого методы OnPaint и OnQueryDragIcon.
Для обработки сообщений от кнопок Connect с идентификатором IDC_CONNECT и On Top с идентификатором IDC_ON_TOP макрокоманды ON_BN_CLICKED вызывают методы OnOnTop и OnConnect, определенные в классе CFtpViewDlg. Таблица сообщений класса CFtpViewDlg не содержит макрокоманд для обработки сообщений от кнопки OK, которая имеет идентификатор IDOK, и поэтому для нее вызывается метод OnOK базового класса CDialog.
Последняя макрокоманда таблицы сообщений - ON_NOTIFY. Она вызывает метод OnDblclkFtpList для обработки сообщений с кодом извещения NM_DBLCLK от списка IDC_FTP_LIST. Сообщение с таким кодом извещения вырабатывается списком, когда пользователь делает в нем двойной щелчок левой клавишей мыши.