Показать сообщение отдельно
  #11  
Старый 14.08.2019, 23:09
Maks19 Maks19 вне форума
Начинающий
 
Регистрация: 19.06.2019
Сообщения: 115
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Kailon
Добавляем процедуру к классу нашей формы
Код:
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    procedure KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
Затем жмем Ctrl+Shift+C и чуть-чуть переделываем код предоставленный lmikle
Код:
procedure TForm1.KeyPress(Sender: TObject; var Key: Char);
begin
  If Not (Key In ['0'..'9', '.', #8, #13, '-'])
    Then Key := #0
    Else
      Begin
         If (Key = '.') And (Pos('.', (Sender as TEdit).Text) > 0) Then Key := #0;
         If (Key = '-') And (Pos('-', (Sender as TEdit).Text) > 0) Then Key := #0;
         If (Key = '-') And ((Sender as TEdit).SelStart <> 1) Then Key := #0;
      End;
end;
Потом для каждого Edit'a в событии OnKeyPress нужно выбрать нашу процедуру KeyPress. Вот и всё. Теперь каждый Edit будет работать согласно нашей процедуре.
А если надо чтобы по нажатию enter передавался фокус ввода от edit 1 к edit 2 от edit 2 к третьему и т.д то как сделать?
Ответить с цитированием