Шаг 31 - Автоматизация реакции на события с ClassWizard

Создание проекта

Работаем с предыдущим проектом. На диалоговое окно добавим кнопку. Теперь нас идентификаторы не волнуют, они задаются автоматически. И обработка их автоматически устанавливается. Даже функция реакции автоматически. Кнопка такая.

31_1.gif (2139 b)

После того как Вы её поместили необходимо создать реакцию на событие нажатия. Нажмите правую кнопку мышки и выберите Events. У Вас появится диалоговое окно и с левой стороны будет список событий. Два раза щелкните на событии, чтобы создать реакцию.

31_2.gif (18550 b)

Подтвердите всё кнопками Ok. Всё, реакция на событие создана. Ниже приведены основные моменты генерируемого кода.

// diaDlg.h : header file
//

class CDiaDlg : public CDialog
{
// Construction
public:
.......
enum { IDD = IDD_DIA_DIALOG };
CListBox m_List;
//}}AFX_DATA
..........
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnButton1();
//}}AFX_MSG
............
};
// diaDlg.cpp : implementation file
//

BEGIN_MESSAGE_MAP(CDiaDlg, CDialog)
//{{AFX_MSG_MAP(CDiaDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
.............
void CDiaDlg::OnButton1()
{
// TODO: Add your control notification handler code here
}

Создаем код

Нам нужно, что бы убедиться что все работает, как то видеть результат нажатия. Вот и будет окно сообщения.

void CDiaDlg::OnButton1() 
{
AfxMessageBox("Save");
}

Описание

VC++ делает за Вас всё необходимое кроме реализации функции. Но если он и это будет делать, то мы все останемся без работы.

Шпаргалка

Реакция на действия с кнопкой устанавливается с помощью пункта Events.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 23.09.99 (обновлено 4.07.2001)