Вниз
Скачать: 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 вся ветка

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



Память: 0.48 MB
Время: 0.027 c
1-1100970808
ЛёхА
2004-11-20 20:13
2004.12.05
Радактор кода


1-1101041756
-=KITA=-
2004-11-21 15:55
2004.12.05
Имя папки, отображённой в shelllistview


14-1100803396
sem
2004-11-18 21:43
2004.12.05
Как добавить в файл .bpg больше 99 проектов


1-1101213751
Max Ivanych
2004-11-23 15:42
2004.12.05
Как работает ShellAPI с электронной почтой?


1-1100723377
Intr
2004-11-17 23:29
2004.12.05
присвоить ImageIndex к пункту меню во время выполнения программы.




   Наверх