Главная / FAQ по Builder'у / 85 Как приспособить TЕdit...

85 Как приспособить TЕdit для ввода одних цифр?


void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
 if((Key == '.')||(Key == ',')) Key = DecimalSeparator;

 // pазpешить ввод цифp, backspace, знака в пеpвой позиции
 // и один pаз pазделителя
 if(!(isdigit(Key)||
      (Key == 8)||
      ((Key == '-')&&(eInterval->SelStart == 0))||
      ((Key == DecimalSeparator)&&
       (!strchr(eInterval->Text.c_str(),DecimalSeparator)))))
   Key = 0;
}
Costik Aganichev 2:5020/1057.99

---
*Примечание:
Кто такой eInterval, где его взять?

Edit для которого написан этот обработчик нажатия клавиши. Получается из Sender. Вариантов есть много. Hапример,

  TEdit eInterval = dynamic_cast<TEdit>(Sender);
  if(eInterval)
  {
    ... 
  }
Boris Lipay

Предыдущий вопрос   |  Список вопросов   |   Следующий вопрос

источник      На главную      by jenyok
Copyright © 2003 JTSOFT
Сайт управляется системой uCoz