Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизKeyDown Event Найти похожие ветки
← →
INCOGNITO (2003-06-21 03:26) [0]Здравствуйте!
Проблемма такова:
При нажатии клавиши срабатывает процедура KeyDown, но если клавишу не отпускать, то получается как бы цикл, пока не отпустишь клавишу.
Как можно этого избежать? Т.е. при нажатии клавиши действие происходило 1 раз и до повторногонажатия не повторялось?
← →
Dmk (2003-06-21 03:45) [1]Используй KeyUp
← →
INCOGNITO (2003-06-21 17:01) [2]Нужно чтоб действие происходило по нажатию клавиши, а если продолжать её удерживать, нужно, чтоб повторов невозикало.
← →
ggsoft (2003-06-21 17:20) [3]Ну заведи себе поле типа Boolean в классе и проверяй его...
или так:
{$J+}
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
const
bDoIt: Boolean = False;
begin
if (Key = VK_INSERT) then begin
if (not bDoIt) then begin
bDoIt := True;
OutputDebugString("Just do it");
end;
end
else bDoIt := False;
end;
Минус - после отпускания клавиши, следующий раз сработает только если еще что-то нажал, так что лучше поле в классе...
← →
INCOGNITO (2003-06-22 01:47) [4]Спасиб!
Придумал. Использовать эту идею, но в купе с KeyUp. тогда всё Ок.
Ещё раз fnx
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c