Вниз
Скачать: CL | DM;

Вопрос по TSpinEdit.OnKeyPress   Найти похожие ветки 

 
Дельфятник   (2002-10-15 15:33) [0]

Почему-то это событие не ловит нажатие клавиши Enter - то есть по нажатию на Enter программа не вызывает обработчик события TSpinEdit.OnKeyPress. Это у всех так, или это только у меня руки кривые?


 
AL2002 ©   (2002-10-15 15:38) [1]

Может, OnKeyDown?


 
Дельфятник   (2002-10-15 15:54) [2]

Да, это понятно, что для ловли нажатия Enter"a для TSpinEdite"a надо использовать OnKeyDown (OnKeyUp). Вопрос был в другом.


 
Zemal ©   (2002-10-15 15:59) [3]

А ты в форме поставил "KeyPreview := True"? Поставь...


 
Дельфятник   (2002-10-15 16:05) [4]

Поставил у формы KeyPreview := True и ничего не изменилось.


 
Дельфятник   (2002-10-15 16:12) [5]

Теперь я всё понял:

procedure TSpinEdit.KeyPress(var Key: Char);
begin
if not IsValidChar(Key) then
begin
Key := #0;
MessageBeep(0)
end;
if Key <> #0 then inherited KeyPress(Key);
end;

function TSpinEdit.IsValidChar(Key: Char): Boolean;
begin
Result := (Key in [DecimalSeparator, "+", "-", "0".."9"]) or
((Key < #32) and (Key <> Chr(VK_RETURN)));
if not FEditorEnabled and Result and ((Key >= #32) or
(Key = Char(VK_BACK)) or (Key = Char(VK_DELETE))) then
Result := False;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
14-78590
Serzhik
2002-10-01 18:20
2002.10.24
отладка в Delphi


14-78585
Esu
2002-10-01 20:55
2002.10.24
[Анти]киллер


14-78666
Agent Smith
2002-10-04 19:01
2002.10.24
Сервер удаленного доступа и WinXP Pro


6-78563
1974
2002-07-09 14:51
2002.10.24
Выделенка+NT+CISCO


3-78310
Beer
2002-10-04 10:37
2002.10.24
Организация вывода таблицы в виде табеля.




   Наверх