Форум: "Основная";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];
ВнизВопрос по 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 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c