11 июня 2010

Компонент Edit


Компонент EditКомпонент Edit предназначен для ввода текста. Расположен он на вкладке Standard Палитры компонентов:

Основное его свойство - это Text. Оно позволяет читать и записывать некоторый текст в Edit. Обратите внимание, что это свойство имеет строковый тип (вернее тип AnsiString, но сейчас это уточнение не столь важно). Это означает, что если пользователь вводит в edit некоторое число, то необходимо дополнительное преобразование. Делается это приблизитетльно так:
int z= StrToInt(Edit1->Text);

Кроме функции StrToInt есть обратная к ней IntToStr. Они переводят строку в целое число и целое число в строку соответственно. Кроме этой пары функций имеется пара StrToFloat и FloatToStr, котрые работают с вещественными числами.
Основное событие для edit'а - это Change. Возникает при изменении свойства Text.
Кроме того, часто используются такие события как KeyPress (возникает при вводе каждого символа), KeyDown и KeyUp (возникают при нажатии и отпускании клавиши). Вот так, например, можно ограничить пользовательский ввод только символами из некоторого набора:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
  if (Key!='a' && Key!='b' && Key!='c')
  {
    Key=0x0; //Обнуляем символ
    MessageBeep(-1); //Звуковой сигнал
  }
}

В этом примере пользователь сможет ввести только символы a, b и c. При любом другом символе раздастся звуковой сигнал. Параметр Key тут передается по ссылке, что и позволяет нам изменить его. Событие KeyPress возникает принажатии алфавитно-цифровых клавиш. Если же вам надо отследить нажатие других клавиш (например, F1 или клавиш со стрелочками), то используйте события KeyDown и KeyUp. Они, крроме того, позволяют определить нажатие клавиш-модификаторов (Atl, Ctrl и Shift).
Из полезных свойств отметим еще некоторые.

Свойство CharCase.
Возможные значения для него - ecNormal (вводимый текст автоматически не преобразуется), ecLowerCase (текст преобразуется к нижнему регистру) и ecUpperCase (текст преобразуется к верхнему регистру).

Свойство MaxLenght.
Задает максимально возможное число символов в edit'е. По умолчанию равно нулю, что означает, что количество вводимых символов не ограничено.

Свойство ParentFont.
Может принимать значение trueedit'е будет использоваться шрифт формы) и false (edit будет использоваться собственный шрифт).

Свойство PasswordChar.
Позволяет задать символ-заменитель для ввода пароля. Чаще всего для этих целей используют звездочку. Свойство text при этом все равно будет содержать вводимый пользователем пароль.

Комментариев нет:

Отправить комментарий

Темы