westpine |
Отправлено: 23.07.2004, 00:43 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 6
|
Всем доброго времени суток. Вопрос такой: как сделать поле числового ввода, то есть так что-бы в поле ввода Edit можно было вводить только цифры и точку, и что бы при этом выравнивание было на правую сторону ячейки? Всем заранее спасибо |
|
PeroManiak |
Отправлено: 23.07.2004, 01:47 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 71
|
ИМХО, OnKeyPress и там проверяешь, что было нажато
|
|
Daan |
Отправлено: 23.07.2004, 07:31 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 62
|
http://www.sources.ru/builder/faq/045.html
CODE |
if ((Key >= '0') && (Key <= '9')) {} // цифры
else if (Key == 8) {} // <-
else if ((Key == '.') || (Key == ',')) // запятая
{
if (((TEdit*)Sender)->Text.Pos(DecimalSeparator)!=0) // если запятая уже есть
Key = 0;
else // если ещё нет
Key = DecimalSeparator;
}
else Key = 0; // не цифра
|
Отредактировано Admin — 27/07/2004, 11:18 |
|
telepath |
Отправлено: 23.07.2004, 11:38 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 132
|
Попробуй MaskEdit |
|
PeroManiak |
Отправлено: 24.07.2004, 00:11 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 71
|
telepath, кажется, попросили сделать это для TEdit, а?
Навеное, westpine хочет именно через Edit, так зачем навязывать?
|
|
Oper01 |
Отправлено: 24.07.2004, 23:38 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 145
|
Чтобы в поле Edit только цифры вводились, напиши в обработчике события OnKeyPress
CODE |
Set <char, '0', '9'> Digit;
Digit << '0' << '1' << '2' << '3' << '4' << '5' << '6' << '7' << '8' << '9';
if (! Digit.Contains(Key))
Key = 0;
| |
|
westpine |
Отправлено: 26.07.2004, 18:23 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 6
|
Усё работает!! Класс, спасибо. |
|
Deem |
Отправлено: 27.07.2004, 10:01 |
|
Мастер участка
Группа: Участник
Сообщений: 327
|
В RxLib есть CurrencyEdit. Это то, что нужно. И выравнивание, и точка (можно и без, а можно и запятую), и кол-во цифр после точки. В отличие от MaskEdit, CurrencyEdit очень естественно работает.
|
|
Gedeon |
Отправлено: 28.07.2004, 19:50 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Посмотрите в форуме в топике текст в трэй я выложил три компонента, один из них TNumericEdit позволяет вводить только числа, можно только целые/дробные, отрицательные/положительные, умеет сам определять знак разделитееля в системе и ставит его вместо . или ,
|
|