Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502

Блокировка ввода символов в EDIT

25.02.2020, 20:47. Показов 1536. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите. Пытаюсь разрешить ввод только определенных символов в
CEdit. Таким образом перехватываю нажатие в PreTranslateMessage
C++
1
2
3
4
5
6
7
8
9
10
11
12
        switch (pMsg->message)
        {
        case WM_KEYDOWN:
            switch (pMsg->wParam)
            {
                           case 0x46:return CDialogEx::PreTranslateMessage(pMsg);
                           default:return true;
            }
 
        }
 
    }
Все работает за исключением одной неприятности, В данном примере вводится не только английская
буква F, но и русская А. Каким образом можно разрешить ввод только F ??
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.02.2020, 20:47
Ответы с готовыми решениями:

Ограничение ввода по количеству символов в Edit box
Доброго времени суток! Подскажите пожалуйста, как в edit box сделать ограничение по количеству символов. То есть, мне нужно, сто бы в...

DataGridView блокировка ввода символов
Подскажите, как ограничить количество символов, которые можно ввести в ячейку

Запрет ввода символов в Edit
Ответ на частый вопрос: - Как запретить ввод символов в edit - Как запретить ввод первого нуля в edit - Как запретить ввод...

3
 Аватар для GoodWeather
886 / 588 / 179
Регистрация: 28.02.2017
Сообщений: 2,359
Записей в блоге: 1
25.02.2020, 21:34
В сообщении WM_KEYDOWN приходит virtual-key code, вроде как это не какой-либо "символ", а именно кнопка клавиатуры. А кнопка-то одна и та же.

Попробуйте сообщения WM_CHAR и/или WM_DEADCHAR и/или WM_UNICHAR.
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
25.02.2020, 21:40
Цитата Сообщение от zombivadim Посмотреть сообщение
Все работает за исключением одной неприятности, В данном примере вводится не только английская
буква F, но и русская А. Каким образом можно разрешить ввод только F ??
Попробуй воспользоваться MapVirtualKey или обрабатывать WM_CHAR
0
12 / 11 / 2
Регистрация: 03.04.2016
Сообщений: 502
25.02.2020, 22:51  [ТС]
Я запутался.
WM_CHAR действительно содержит символьный код а не код клавиши.
Но как мне правильно поступить если в окне эдита надо разрешить к примеру нажатие клавиш
VK_NUMPAD и VK_DELETE плюс определенные символьные клавиши.
VK_NUMPAD и VK_DELETE обрабатывать отдельно в WM_KEYDOWN??

Добавлено через 5 минут
case WM_KEYDOWN:
switch (pMsg->wParam)
case WM_CHAR:
switch (pMsg->wParam)
??
Но результат получается какой то странный
например VK_BACK перестает определяться в WM_KEYDOWN но определяется в WM_CHAR
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.02.2020, 22:51
Помогаю со студенческими работами здесь

Запрет ввода в Edit русских символов (D7)
Здравствуйте, подскажите пожалста как ограничить ввод русских символов в поле edit для ввода эл.адреса, чтоб тупо русские буквы игнорились...

Запрет ввода любых символов в edit
у меня в программе в edit выводится ответ и какой код написать или что в функциях написать или типа того что бы пользователь не мог...

Запрет ввода определенных символов в Edit
Я искал на форуме и в гугле, нашел разные варианты, но не нашел который мне бы подошел... Ведь у меня создание эдитов в коде... А как я...

Запрет ввода ненужных символов в edit
Выдаёт ошибку, нужно запретить ввод в edit символов, только вещественные и целые числа. procedure TForm1.Button1Click(Sender: TObject); ...

Запрет ввода символов в поле Edit
Как запретить нажатие и вставку из буфера всех символов, кроме нужных мне, к примеру разрешить вводить в поле только цифры? И еще 2-ой...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru