FAQ:WinAPI VCPP:акселераторы в MFC приложении — различия между версиями
Материал из Весельчак У
RXL (обсуждение | вклад) (Новая: ===Как в диалоговом MFC приложении добавить accelerator'ы? В редакторе ресурсов создаю, а применить не могу.=== ...) |
RXL (обсуждение | вклад) |
||
Строка 28: | Строка 28: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | [[Category:FAQ:WinAPI VCPP]] | + | [[Category:FAQ:WinAPI VCPP]] [[Category:FAQ:MFC]] |
Текущая версия на 22:09, 3 октября 2009
Как в диалоговом 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); }