FAQ:WinAPI VCPP:акселераторы в MFC приложении
Материал из Весельчак У
Как в диалоговом MFC приложении добавить accelerator'ы? В редакторе ресурсов создаю, а применить не могу.
class TestDlg : public CDialog { HACCEL accelerators; public: enum{IDD = IDD_TEST_DIALOG}; TestDlg(CWnd* pParent); virtual BOOL PreTranslateMessage(MSG* pMsg); }; TestDlg::TestDlg(CWnd* pParent) : CDialog(TestDlg::IDD, pParent) { //загрузаем из ресурса accelerators = LoadAccelerators( AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_ACCELERATOR)); } BOOL TestDlg::PreTranslateMessage(MSG* pMsg) { //обработка акселераторов if( TranslateAccelerator(m_hWnd, AccelTable, pMsg) )return true; return CDialog::PreTranslateMessage(pMsg); }