Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

апуск и останов таймера кнопками с клавы??   Найти похожие ветки 

 
AlexHawk   (2004-11-19 22:02) [0]

Не подскажите, как можно запустить или остановить таймер кнопкой с клавы например "Backspace" Или "Delete"
Т.е пока кнопка зажата он работает, как только отжали он выключился.
Подскажите пожалуйсто!!
Заранее СПАСИБО!


 
Anatoly Podgoretsky ©   (2004-11-19 22:07) [1]

В чем проблема?


 
novice_man ©   (2004-11-19 22:07) [2]

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
 Shift: TShiftState);


 
AlexHawk   (2004-11-20 23:15) [3]

Так это для Shift"a? Или нет...


 
AlexHawk   (2004-11-20 23:17) [4]

Можно какой-нибудь простенький примерчик.


 
Palladin ©   (2004-11-20 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);


 
KilkennyCat ©   (2004-11-21 03:19) [6]


> 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... :)


 
KilkennyCat ©   (2004-11-21 03:21) [7]


> Palladin ©


Прошу прощения, виноват... надо было не альт выделить а шифт :)


 
AlexHawk   (2004-11-21 03:24) [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:27) [9]

все, практически...


 
AlexHawk   (2004-11-21 03:28) [10]

:(


 
KilkennyCat ©   (2004-11-21 03:30) [11]

да не огорчайтесь...

просто немного неверно:

во-первых, срабатывать будет при любой клавише.
во-вторых, будет срабатывать постоянно, еще неизвестно, как это скажется на функционирование таймера...


 
AlexHawk   (2004-11-21 03:31) [12]

Подскажите пожалуйсто как правильно сделать


 
KilkennyCat ©   (2004-11-21 03:34) [13]

делаем проверку на клавиши, к примеру 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;


 
KilkennyCat ©   (2004-11-21 03:37) [14]


> Shift: TShiftState


а это возвращает состояние клавиш Альт, Шифт и Ктрл, чтобы можно было проверить комбинацию типа Alt+Enter

if (key = vk_Return) and (Shift in [ssAlt]) then ...


 
AlexHawk   (2004-11-21 03:49) [15]

О СПАСИБО, ЗАРАБОТАЛО!!!!



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

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
1-1101136171
MasterVovan
2004-11-22 18:09
2004.12.05
События и DLL


1-1101106741
Vilux
2004-11-22 09:59
2004.12.05
Эта проблемная многопоточность


3-1099982571
diabolik_krsk
2004-11-09 09:42
2004.12.05
Удаление записей из подчиненной таблицы


1-1101107709
uny
2004-11-22 10:15
2004.12.05
Алгоритм - как выделить число


3-1099463364
Sour
2004-11-03 09:29
2004.12.05
MySQL