AnsiString txt = Edit1->Text;
if(Key == '\x8') // afair, код клавиши 'BACKSPACE' == 8
txt.SetLength(txt.Length() -1);
else
txt += Key;
onKeyPress
У меня есть обработчик события onKeyPress компонента TEdit. Как узнать в теле обработчика, какой текст в Edit в итоге получится
Цитата:
Originally posted by Татьяна
У меня есть обработчик события onKeyPress компонента TEdit. Как узнать в теле обработчика, какой текст в Edit в итоге получится
У меня есть обработчик события onKeyPress компонента TEdit. Как узнать в теле обработчика, какой текст в Edit в итоге получится
...после обработки нажатия кнопки?
Что-то в таком роде:
Код:
Цитата:
Originally posted by Plisteron
...после обработки нажатия кнопки?
...после обработки нажатия кнопки?
Да, вы поняли правильно. В общем, ТЗ такое: Edit вводится вещественное число, и нужно чтобы оно было в определенном диапазоне. Как запретить ввод нечисловых символов понятно, а вот как это сделать:-? Можно запоминать предыдущий текст, и в onKeyUp, если введенное число не устраивает, заменять Edit->Text на него. А может, можно как-то проще?
Цитата:
Originally posted by Татьяна
Как запретить ввод нечисловых символов понятно, а вот как это сделать:-?
А может, можно как-то проще?
Как запретить ввод нечисловых символов понятно, а вот как это сделать:-?
А может, можно как-то проще?
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
if(Key == 'непечатный символ')
Key = 0;//запретили
...
Цитата:
Originally posted by Татьяна
Да, вы поняли правильно. В общем, ТЗ такое: Edit вводится вещественное число, и нужно чтобы оно было в определенном диапазоне. Как запретить ввод нечисловых символов понятно, а вот как это сделать:-? Можно запоминать предыдущий текст, и в onKeyUp, если введенное число не устраивает, заменять Edit->Text на него. А может, можно как-то проще?
Да, вы поняли правильно. В общем, ТЗ такое: Edit вводится вещественное число, и нужно чтобы оно было в определенном диапазоне. Как запретить ввод нечисловых символов понятно, а вот как это сделать:-? Можно запоминать предыдущий текст, и в onKeyUp, если введенное число не устраивает, заменять Edit->Text на него. А может, можно как-то проще?
RxCalcEdit из комплекта Rx Library поможет гиганту мысли. Только предупреждаю: установка Rx на BCB6 -- занятие, требующее... хм... некоторой усидчивости.