Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Действие по Enter'у


Автор: Mick Winder 23.6.2005, 15:48
Есть задача...
Есть на форме компоненты Edit и Label.
Как сделать чтобы после написания текста в окошке Edit и нажатия на кнопку Enter, содержимое окошка перенеслось в Label. Меня интересует сам факт использования Enter.
Попробовал использовать OnEnter компонента Edit... Не вышло...

Автор: RaIDeR 23.6.2005, 16:10
Цитата(Mick @ 23.6.2005, 15:48)
Попробовал использовать OnEnter компонента Edit... Не вышло...

Ты что ? smile Событие OnEnter происходит при получении фокуса.

Обрабатывай событие OnKeyDown у Edit'а :

Код

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = VK_RETURN then Label1.Caption := edit1.Text;
end;

Автор: Mick Winder 23.6.2005, 16:16
Цитата(RaIDeR @ 23.6.2005, 16:10)
Цитата(Mick @ 23.6.2005, 15:48)
Попробовал использовать OnEnter компонента Edit... Не вышло...

Ты что ? smile Событие OnEnter происходит при получении фокуса.

Обрабатывай событие OnKeyDown у Edit'а :

Код

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = VK_RETURN then Label1.Caption := edit1.Text;
end;

Спасибооо!!! smile

Автор: The MASTER 23.6.2005, 16:30
Код

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;    
  Shift: TShiftState);    
begin
If key=13 then
   begin
   label1.caption:=edit1.text;
   end;
end;

Автор: Vit 23.6.2005, 16:39
The MASTER, Mick Winder - Код не правильный, так как будет реагировать и на Ctrl-Enter и на Shift-Enter и т.п. Надо или на KeyPress реакцию ставить или изменить:


Код

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (key = VK_RETURN) and (Shift=[]) then Label1.Caption := edit1.Text;
end;

Автор: Rennigth 23.6.2005, 16:53
а еще желательно (хоть в этом примере и не надо):
Код

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (key = VK_RETURN) and (Shift=[]) then 
  begin
    key := 0;
    Label1.Caption := edit1.Text;
  end;
end;

Автор: Mick Winder 24.6.2005, 13:23
ВСЕМ ОГРОМНОЕ СПАСИБО!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)