Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506

... WM_CHAR не реагирует

02.03.2010, 19:52. Показов 3114. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята помогите почему не получается при нажатии а,ь,с должен реогироват
по форуму не мог найти подходяший материал

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void CControl_cDlg::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
    
 
    switch(nChar)
    {
    case 'a': MessageBox("OK !!!!!");    break;
    case 'b': MessageBox("OK !!!!!");    break;
    case 'c': MessageBox("OK !!!!!");    break;
    
    }
     
    CControl_claviaturaDlg::OnChar(nChar, nRepCnt, nFlags);
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.03.2010, 19:52
Ответы с готовыми решениями:

wm_char
как в wm_char принять от пользователя сочетание клавиш "ctrl+s"

Обработка WM_CHAR
Здравствуйте. Реализовываю autocomplete в WinApi(обновление отображаемого содержимого ListBox по мере ввода поисковой фразы в...

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

12
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
02.03.2010, 20:54
проверь раскладку и CapsLock.

ты уверен, что делаешь в правильном классе?
в смысле, что нажатие вообще доходит до этого места?

попробуй для проверки написать так:
C++
1
2
3
4
5
void CControl_cDlg::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
MessageBox("Что-то нажали !!!!! Ура!!!!");
CControl_claviaturaDlg::OnChar(nChar, nRepCnt, nFlags);
}
кстати, что-то непонятное с классами.
у тебя CControl_claviaturaDlg - подкласс CControl_cDlg? или наоборот? О_о
0
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 5
03.03.2010, 10:17
В комбинации switch-case по-моему не так просто используются символьные значения. Я уже не вспомню как я делал, но попробуйте вместо символов поставить их значения. Либо в крайнем случае отказаться от этой комбинации и использовать elseif.

Добавлено через 50 секунд
Это конечно всё при условии что вы попадаете в функцию.
0
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
03.03.2010, 13:40  [ТС]
Ребята не получается собшения не доходит до этого
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
03.03.2010, 14:31
Цитата Сообщение от bek08 Посмотреть сообщение
Ребята не получается собшения не доходит до этого
проверь все-таки классы.

по логике, у тебя должен быть класс CControl_claviaturaDlg наследованный от CControl_cDlg, а не наоборот.

попробуй написать так:
C++
1
2
3
4
5
void CControl_claviaturaDlg::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
MessageBox("Что-то нажали !!!!! Ура!!!!");
CControl_cDlg::OnChar(nChar, nRepCnt, nFlags);
}
хотя, возможно, у тебя больше путаницы, чем пока кажется...
0
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
03.03.2010, 15:23  [ТС]
Все таки не получается у меня может прог. На дилоге исползуется другое

Добавлено через 33 минуты
Ребята вобше на диалоговом окне как исползоват WM_CHAR. Кто нибуд ответте пожалуйста
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
03.03.2010, 16:32
Цитата Сообщение от bek08 Посмотреть сообщение
Ребята вобше на диалоговом окне как исползоват WM_CHAR. Кто нибуд ответте пожалуйста
На диалоговом окне должен быть контрол типа, поддерживающего WM_CHAR, например, Edit Box.
Дальше зависит от среды в которой программишь.
На MFC, например, создается класс, наследуемый от стандартного CEdit, или CRichEdit, в этом классе перегружается сообщение OnChar, как сделано у тебя, создается экземпляр объекта этого класса, затем в функции инициализации диалога делается SubclassDlgItem() на этот экземпляр объекта с идентификатором элемента диалоги типа Edit Box.
А по выходу из диалога, делается соответствующий UnSubclassDlgItem().
1
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
05.03.2010, 10:30  [ТС]
Спасибо за ответ. А можно какой нибуд пример с исползованием диалога.
0
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
06.03.2010, 11:23  [ТС]
Привет всем ребята может кто нибуд ответит с примером, пожалуйста я сам не как не могу найти ответ

Добавлено через 43 минуты
Пожалуйста кто нибуд если знаете овет зачем ленится, а ответ мне кажется знает многие в форуме, мы тут собралис поддержать друг друга вет нас интересует одно итоже. Значет мы какомта смысле братя по оружию. Так помогите начинаюшему программисту...
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
06.03.2010, 11:44
Цитата Сообщение от bek08 Посмотреть сообщение
Пожалуйста кто нибуд если знаете овет зачем ленится
при чем тут "ленится"?
у людей просто много других забот.
давай, ты не будешь ленится, и за меня с ребенком погуляешь,и в магазин сходишь, заодно, а?
а еще надо бы две статьи написать до конца следующей недели...
меняю статью по сельскому хозяйству на пример использования WM_CHAR.
0
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
06.03.2010, 17:17  [ТС]
Спасибо дружише за красивой ответ
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
06.03.2010, 18:18
Цитата Сообщение от bek08 Посмотреть сообщение
Спасибо дружише за красивой ответ
ладно тебе...
те, кто знают, как сделать то, что хочется, обычно заняты.
это-же взрослые люди и их мамы с папами не кормят.
ладно, вот тебе проект на MSVS 6.0.
при желании можно конвертировать и в MSVS 2008, ну это уже сам...
Вложения
Тип файла: rar Кнопка.rar (1.80 Мб, 33 просмотров)
0
Особый статус
 Аватар для bek08
40 / 41 / 10
Регистрация: 26.01.2010
Сообщений: 506
06.03.2010, 22:28  [ТС]
Спасибо огромное. Я думаю тепер как нибуд разберус. Очен тебе благодарин если как нибуд встретимся угошшу тебя хорошой пивкой... (извиняюс за ошибки словах)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.03.2010, 22:28
Помогаю со студенческими работами здесь

Обработка сообщения wm_char
Добрый день! Пытаюсь зафиксировать нажатие буквенной клавиши с занесением символа в массив (для последующего вывода), но ничего не...

WM_KEYDOWN & WM_CHAR
Приветствую . Необходимо получить символ введенный с клавиатуры в любом окне ОС . Делаю хук , отлавливаю событие : int APIENTRY...

Не получается обработать сообщение WM_CHAR
не получается обработать сообщение WM_CHAR чтобы в editbox не можно было вводить буквы а только цифры :( заранее спасибо всем кто...

Ввод строки через WinApi, WM_CHAR
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); IntPtr ptr = FindWindow(null, "КриптоПро CSP"); ...

Как получить сообщение WM_CHAR в dialog based приложениях?
kak poluchit' soobshenie WM_CHAR v Dialog Based prilojeniyax?


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru