Шаг 80 - Как привязать акселератор просто к команде без элемента

Описываем идентификатор в resource.h:

#define IDC_BUTTON1	1000
#define IDC_BUTTON2	1001

#define IDC_NEW		1002
// Next default values for new objects

Связываем его с акселератором:

80_1.gif (8052 b)

Объявляем свою функцию:

class CTestMessageDlg : public CDialog
{
// Construction
public:
	CTestMessageDlg(CWnd* pParent = NULL);	// standard constructor
	......
protected:
	HICON m_hIcon;
	afx_msg void OnButton3();
	// Generated message map functions
	//{{AFX_MSG(CTestMessageDlg)
	virtual BOOL OnInitDialog();
	......
};

Добавляем макрос обработки сообщения:

BEGIN_MESSAGE_MAP(CTestMessageDlg, CDialog)
	//{{AFX_MSG_MAP(CTestMessageDlg)
	......
	//}}AFX_MSG_MAP
	ON_BN_CLICKED(IDC_NEW, OnButton3)
END_MESSAGE_MAP()

Пишем реализацию:

void CTestMessageDlg::OnButton3() 
{
	AfxMessageBox("Button 3");
}

Запускаем, нажимаем на C.

80_2.gif (6079 b)

Вывод – акселераторами можно пользоваться без элементов, если описать просто идентификаторы.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 08.07.2002