![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
апуск и останов таймера кнопками с клавы?? [D7, WinXP]
AlexHawk © (2004-11-19 22:02:00)Не подскажите, как можно запустить или остановить таймер кнопкой с клавы например "Backspace" Или "Delete"
Т.е пока кнопка зажата он работает, как только отжали он выключился.
Подскажите пожалуйсто!!
Заранее СПАСИБО!
AlexHawk (2004-11-21 03:49:00) [1]О СПАСИБО, ЗАРАБОТАЛО!!!!
KilkennyCat (2004-11-21 03:37:00) [2]
> Shift: TShiftState
а это возвращает состояние клавиш Альт, Шифт и Ктрл, чтобы можно было проверить комбинацию типа Alt+Enter
if (key = vk_Return) and (Shift in [ssAlt]) then ...
KilkennyCat (2004-11-21 03:34:00) [3]делаем проверку на клавиши, к примеру Enter:
if key = vk_Return then
и проверку, что таймер работает:
if not timer1.enabled then timer1.enabled := true;
в итоге:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Ctrl: TShiftState);
begin
if (key = vk_Return) and (not Timer1.Enabled) then Timer1.Enabled := True;
end;
AlexHawk (2004-11-21 03:31:00) [4]Подскажите пожалуйсто как правильно сделать
KilkennyCat (2004-11-21 03:30:00) [5]да не огорчайтесь...
просто немного неверно:
во-первых, срабатывать будет при любой клавише.
во-вторых, будет срабатывать постоянно, еще неизвестно, как это скажется на функционирование таймера...
AlexHawk (2004-11-21 03:28:00) [6]:(
KilkennyCat (2004-11-21 03:27:00) [7]все, практически...
AlexHawk (2004-11-21 03:24:00) [8]Чтож я не правильно тут сделал?
type
procedure FormKeyDown(Sender: TObject; var Key: Word;
Ctrl: TShiftState);
...
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Ctrl: TShiftState);
begin
Timer1.Enabled := True;
end;
KilkennyCat (2004-11-21 03:21:00) [9]
> Palladin ©
Прошу прощения, виноват... надо было не альт выделить а шифт :)
KilkennyCat (2004-11-21 03:19:00) [10]
> Palladin © (20.11.04 23:39) [5]
> Нет, это для Alt'а.
>
> Для Shift'а:
>
> procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
> Ctrl: TShiftState);
>
> procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
> Ctrl: TShiftState);
а еще мастер....
а вообще-то, я думал, что делают по-другому: таймер работает всегда, а вот действия внутре уже от GetKeyboardState... :)
Palladin (2004-11-20 23:39:00) [11]Нет, это для Alt'а.
Для Shift'а:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Ctrl: TShiftState);
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Ctrl: TShiftState);
AlexHawk (2004-11-20 23:17:00) [12]Можно какой-нибудь простенький примерчик.
AlexHawk (2004-11-20 23:15:00) [13]Так это для Shift'a? Или нет...
Anatoly Podgoretsky (2004-11-19 22:07:00) [14]В чем проблема?
novice_man (2004-11-19 22:07:00) [15]procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);