![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
![]()
Как в компоненте TEdit в событии OnKeyPress отловить нажатие клавиши Enter?
код: if Key = #13 then begin ... end; почему-то не работает.
даешь высокое напряжение
|
![]() |
![]() |
![]() |
#2 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
Что, вот прямо так и говорит "почему-то не работаю" ?)
|
![]() |
![]() |
![]() |
#3 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
![]()
нет, просто на нажатие клавиши Enter никак не реагирует
даешь высокое напряжение
|
![]() |
![]() |
![]() |
#4 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
значит Edit в момент нажатия Enter не имеет фокуса ввода
|
![]() |
![]() |
![]() |
#5 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
![]()
нет, я же число ввожу, потом жму Enter. Как раз таки только он фокус и имеет.
даешь высокое напряжение
|
![]() |
![]() |
![]() |
#6 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
у формы поди keyPreview=True ?
|
![]() |
![]() |
![]() |
#7 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
![]()
даешь высокое напряжение
|
![]() |
![]() |
![]() |
#8 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
![]()
Вот код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin case Key of #8,'0'..'9': ; // цифры и <Backspace> #13: ;// клавиша <Enter> '.': // разделитель целой и дробной частей числа begin DecimalSeparator:= '.'; if Pos(DecimalSeparator, Edit1.Text) <> 0 then Key:= Chr(0); // запрет ввода второго разделителя if Key = #13 then begin if (Label37.Caption = 'Введите новое значение (диаметр):') and ((Edit1.Text <> '') or (Edit1.Text <> '0')) then begin if Edit1.Text[1] <> '.' then Label24.Caption:= 'Диаметр: ' + Edit1.Text + ' мм' else Label24.Caption:= 'Диаметр: 0' + Edit1.Text + ' мм'; end else Label24.Caption:= 'Диаметр: н/а'; end; end; else // остальные символы запрещены Key := Chr(0); end; end;
даешь высокое напряжение
|
![]() |
![]() |
![]() |
#9 | |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#10 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
![]()
даешь высокое напряжение
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
OnKeyPress VS Edit1 :) | Federal | Помощь студентам | 6 | 29.07.2010 16:00 |
Не работатет onkeypress. | vedro-compota | Мультимедиа в Delphi | 4 | 08.06.2010 20:58 |
OnKeyPress | aurora_87 | Общие вопросы C/C++ | 3 | 15.01.2010 12:06 |
OnKeyPress из NumLock`а | Alex Cones | Общие вопросы Delphi | 2 | 23.04.2009 20:08 |