|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.06.2011, 17:39 | #1 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
OnKeyPress ...
Как в компоненте TEdit в событии OnKeyPress отловить нажатие клавиши Enter?
код: if Key = #13 then begin ... end; почему-то не работает.
даешь высокое напряжение
|
28.06.2011, 17:42 | #2 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
Что, вот прямо так и говорит "почему-то не работаю" ?)
|
28.06.2011, 17:42 | #3 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
нет, просто на нажатие клавиши Enter никак не реагирует
даешь высокое напряжение
|
28.06.2011, 17:44 | #4 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
значит Edit в момент нажатия Enter не имеет фокуса ввода
|
28.06.2011, 17:45 | #5 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
нет, я же число ввожу, потом жму Enter. Как раз таки только он фокус и имеет.
даешь высокое напряжение
|
28.06.2011, 17:51 | #6 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
у формы поди keyPreview=True ?
|
28.06.2011, 17:53 | #7 |
Уважаемый
Форумчанин
Регистрация: 04.07.2010
Сообщений: 318
|
даешь высокое напряжение
|
28.06.2011, 17:54 | #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;
даешь высокое напряжение
|
28.06.2011, 17:55 | #9 | |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
Цитата:
|
|
28.06.2011, 17:56 | #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 |