Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 21
1

Как обработать в MFC visual studio 2008 обработку нажатых клавиш?

16.10.2013, 16:47. Показов 1967. Ответов 8
Метки нет (Все метки)

Как обработать в MFC visual studio 2008 обработку нажатых клавиш?
Создал основанное на диалогах приложение, выбрал форму, нашел на ней создание обработчиков событий для wm key down и wm char.
написал функции
void CTestDlg::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
и
void CTestDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
Но при запуске, появляется форма, нажимаю кнопки на клавиатуре ни одна функция не выполняется, точка останова тоже не срабатывает
Почему?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2013, 16:47
Ответы с готовыми решениями:

Как установить MFC на Visual Studio 2008 Express Edition?
Как установить MFC на Visual Studio 2008 Express Edition?

Отличие сборок Visual Studio 2008 от Visual Studio 2010
Здравствуйте, товарищи! Пытаюсь собрать библиотеку libvbucket, используя Visual Studio 2008....

Как подсоединить MFC AppWizard к С++ 9.0 Visual Studio ?
Подскажите пожалуйста где можно скачать MFC AppWizard для С++ 9.0 Visual Studio? В инете нашла...

Окно со свойствами в проекте MFC, как в Visual Studio
Мне нужно окошечко свойств как в VisualStudio. Обязательно на MFC. Для этого я создал проект SDI со...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
8
222 / 222 / 38
Регистрация: 17.12.2010
Сообщений: 713
16.10.2013, 17:27 2
C++
1
2
3
4
5
6
BOOL CBase::PreTranslateMessage(MSG* pMsg)
{
    if(pMsg->message == WM_KEYDOWN)
                MessageBox("FFF");
    return CDialogEx::PreTranslateMessage(pMsg);
}
если вам надо на форму, т.к у нее нету фокуса для ввода..
0
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 21
16.10.2013, 18:37  [ТС] 3
Цитата Сообщение от Aloir Посмотреть сообщение
C++
1
2
3
4
5
6
BOOL CBase::PreTranslateMessage(MSG* pMsg)
{
    if(pMsg->message == WM_KEYDOWN)
                MessageBox("FFF");
    return CDialogEx::PreTranslateMessage(pMsg);
}
если вам надо на форму, т.к у нее нету фокуса для ввода..
в прототипах класса CDialogEx есть виртуальная ф-я PreTranslateMessage, мне нужно значит указать
CDialogEx вместо CBase?

Добавлено через 4 минуты
Цитата Сообщение от assters Посмотреть сообщение
в прототипах класса CDialogEx есть виртуальная ф-я PreTranslateMessage, мне нужно значит указать
CDialogEx вместо CBase?
Проверил, все равно не обрабатывает
0
222 / 222 / 38
Регистрация: 17.12.2010
Сообщений: 713
16.10.2013, 19:51 4
СBase - мой класс диалога унаследованный от CDialog.
да, вам нужно переопределить эту функцию.

если не получится, покажите ваш .h файл и .cpp
0
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 21
16.10.2013, 19:56  [ТС] 5
Спасибо
Файлы проекта
lab1ob.rar
0
Модератор
Эксперт по электронике
8380 / 6225 / 836
Регистрация: 14.02.2011
Сообщений: 21,605
16.10.2013, 20:00 6
Цитата Сообщение от assters Посмотреть сообщение
обработать в MFC
Цитата Сообщение от assters Посмотреть сообщение
выбрал форму,
я один ничего не понимаю

Добавлено через 55 секунд
Цитата Сообщение от assters Посмотреть сообщение
написал функции
void CTestDlg::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
и
void CTestDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
сам написал? или включил их в карту?
0
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 21
16.10.2013, 20:08  [ТС] 7
Цитата Сообщение от ValeryS Посмотреть сообщение
я один ничего не понимаю

Добавлено через 55 секунд

сам написал? или включил их в карту?
нет, выбрал в настройках формы создать обработчик для данных событий
Как обработать в MFC visual studio 2008 обработку нажатых клавиш?
0
Модератор
Эксперт по электронике
8380 / 6225 / 836
Регистрация: 14.02.2011
Сообщений: 21,605
16.10.2013, 20:47 8
Цитата Сообщение от assters Посмотреть сообщение
нет, выбрал в настройках формы создать обработчик для данных событий
в MFC нет форм
если ты имеешь ввиду диалог,то он и ловит твои сообщения, если в диалоге есть поле ввода(CEdit) то и лови у них а не у диалога, до диалога они не доходят(или перехватывай NOTIFY сообщения, но это уже другая тема)
0
222 / 222 / 38
Регистрация: 17.12.2010
Сообщений: 713
17.10.2013, 10:33 9
Цитата Сообщение от assters Посмотреть сообщение
Спасибо
Файлы проекта
Вложение 317660
C++
1
virtual BOOL PreTranslateMessage(MSG* pMsg);
нету в lab1obDlg.h
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.10.2013, 10:33

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Visual Studio 2008 как в лесу
я не особо сильно в этом шарю, хотел бы спросить, может кто и знает? как в этом детище от...

visual studio 2008 что и как
Пытаюсь перейти на VS2008 аж с VS6.0 1998 года. Кто пользовался, помогите разобраться Куда...

Как подключить Boost к Visual Studio 2008
Здравствуйте, подскажите пожалуйста как подключить boost к Visual Studio 2008. Хочу использовать...

Как подключить ресурс (картинку) в Visual Studio 2008 c++?
Добрый день. Я совсем не могу понять как использовать ресурсы... я создал через Visual Studio файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.