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

Запрет ввода определенных символов в Edit

09.04.2013, 02:11. Показов 2255. Ответов 5
Метки нет (Все метки)

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

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2013, 02:11
Ответы с готовыми решениями:

Запрет ввода определенных символов (перевод с Delphi)
Доброго времени суток!!! Ребята помогите перевести код с Дэлфы на C++...Пишу Курсач и мне осталось...

Перевод Delphi -> C++ - запрет ввода в эдит определенных символов
Помогите пожалуйста сделать перевод защиты из Delphi на C++. Нужно сделать так, чтобы нельзя было...

Запрет ввода букв в поле Edit
Написал следующий код, но он не дает запрета на ввод букв void __fastcall...

Запрет удаления символов в Edit
Добрый вечер, каким образом можно обеспечить запрет удаления символов в Edit? Enable = false; не...

5
47 / 47 / 15
Регистрация: 09.03.2011
Сообщений: 584
09.04.2013, 06:36 2
событие можно потом назначить эдиту

Добавлено через 2 минуты
Создать Label динамически для чайников :)
1
6 / 6 / 3
Регистрация: 06.02.2013
Сообщений: 71
09.04.2013, 12:55 3
- Очень просто! У Вас где-то объявляется указатель, например, на Клавишу
и обработчик нажатия на нее мышью. Например это делается в хедере формы:
C++
1
2
3
4
// указатель на динам. Клавишу.
TButton*    B;
// объявление обработчика нажатия мышью на динам. Клавишу.
void __fastcall    B_OnClick( TObject*  Sender );
Где-то в коде (например в конструкторе формы) создаете динамически эту
самую клавишу. (this - это указатель на форму.) И подключаете к Клавише ее
обработчик:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// создать динам. Клавишу.
B = new    TButton( this );
B->Parent = this;
// надпись.
B->Caption = ".....";
B->Font->Style = TFontStyles() << fsBold;    // жирный шрифт.
// размеры.
B->Width = 30;
B->Height = 20;
// положение на форме.
B->Top = 20;
B->Left = 20;
// подключение обработчика нажатия мышью.
B->OnClick = &B_OnClick;
Да, конечно, где-ни-будь должен быть определен сам обработчик нажатия
мышью:
C++
1
2
3
4
5
// определение обработчика нажатия мышью на динам. Клавишу.
void __fastcall    TForm1::B_OnClick( TObject*  Sender )
{
    // *** Реакция на нажатие Клавиши. ***
}
Все, можно компилировать, запускать и нажимать на новую Клавишу.
Всякий раз при нажатии, будет вызываться обработчик ...
1
1 / 1 / 0
Регистрация: 16.02.2013
Сообщений: 44
10.04.2013, 11:20  [ТС] 4
Okonenko Stanis, хм... а если эта клавиша является цифрой??? В моем случае 0.
0
Супер-модератор
8758 / 2487 / 140
Регистрация: 07.03.2007
Сообщений: 11,809
10.04.2013, 11:24 5
ODDsama, VK_0 - VK_9 вроде бы... а вообще загляните в справку, там есть таблица всех кодов клавиш
1
6 / 6 / 3
Регистрация: 06.02.2013
Сообщений: 71
13.04.2013, 10:35 6
- ODDsama мы немного не поняли друг друга. Я рассказывал Вам как динамически
(в процессе работы программы) создать какой-либо VCL-компонент. Для примера
я взял клавишу. Если Вам нужны не клавиши а, скажем, Едиты, то все то-же самое,
как в моем примере, только вместо TButton будет фигурировать TEdit. И в качестве
обработчика Вам скорее всего прийдется подвязывать к Вашему динамическому
Едиту обработчик нажатия клавиши. Он имеет следующий вид:

C++
1
void __fastcall    TForm1::Edit1KeyPress( TObject*  Sender, char&  Key );
- А уже внутри этого обработчика Вы будете проверять параметр Key на то, какая
именно клавиша была нажата? И правильно Вам говорит Lord_Voodoo в таблице перечислены
константы практически всех клавиш клавиатуры. Например: VK_RETURN - клавиша "Enter",
VK_BACK - клавиша "BackSpace", VK_F1, ..., VK_12 - функциональные клавиши,
VK_0, ..., VK_9 - цифровые клавиши, и т.д. Сейчас плохо помню. Сравнивая параметр
Key с этими константами можно в обработчике осуществить любую обработку нажатых
клавиш.
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2013, 10:35

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Выполнять действие при вводе определенных символов в Edit
Здравствуйте. Суть вопроса вот в чем: При написании калькулятора, хочется что бы нажатие...

Запрет ввода символов в едит, кроме комы
вот есть код который запрещает ввод символов в едит кроме комы void __fastcall...

Ограничение ввода русских букв в Edit. Всплывающая подсказка над Edit'ом
Добрый день, обращаюсь за помощью по следующим двум вопросам. 1) В Edit нужно чтобы вводились...

Запрет ввода только минуса в ячейке StringGrid, и запрет на ввод минуса между цифрами
Ребята,очень нужна ваша помощь!Нужно сделать запрет ввода ТОЛЬКО минуса в ячейке и запрет на ввод...


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

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

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