![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нажатие несколький кнопок [D7, WinXP]
Sysanin © (2005-09-24 20:58:00)Как мне отловить то что нажато две или три кнопки одновременно. С одной всё ясно.
Sysanin (2005-10-04 19:33:00) [1]Большое спасибо за ответы в ближайшем будущем разберусь с советами
Lamer@fools.ua (2005-09-25 10:11:00) [2]Удалено модератором
Примечание: Личная переписка
Германн (2005-09-25 02:46:00) [3]Удалено модератором
Примечание: Личная переписка
Lamer@fools.ua (2005-09-25 02:31:00) [4]Удалено модератором
Примечание: Личная переписка
TStas (2005-09-25 02:30:00) [5]Может, о SpeedButton идет речь. Их-то хоть сколько вдавть можно. Так у них свойство down есть. Или о Shift?
Германн (2005-09-25 02:20:00) [6]Удалено модератором
Примечание: Личная переписка
Lamer@fools.ua (2005-09-25 01:41:00) [7]>> Германн © (25.09.05 00:53) [6]
В данном случае то, что кнопки нажаты одновременно, означает их состояние, а не производимое над ними действие. Я так понял вопрос.
Германн (2005-09-25 01:27:00) [8]2 Marser © (25.09.05 01:11) [7]
Как "железячник" по способу зарабатывания денег, могу только повторить [6].
Marser (2005-09-25 01:11:00) [9]Вообще-то то, что на клавиатуре россыпью, называется клавишами и этот вопрос в достаточной степени осветил г-н Lamer@fools.ua. Кнопку-button нажать в один момент времени можно только одну.
Германн (2005-09-25 00:53:00) [10]Имхо.
Первое - следует уточнить вопрос.
Второе - одновременностьпонятие недостижимое для стандартныхустройств типа клавиатуры. Можно лишь обсуждать вопрос "сколько и какие кнопки в данный момент нажаты".
Lamer@fools.ua (2005-09-25 00:09:00) [11]+
GetAsyncKeyState(), GetKeyState()
Lamer@fools.ua (2005-09-25 00:07:00) [12]>> Sysanin (24.09.05 20:58)
GetKeyboardState()
?
Eraser (2005-09-24 23:43:00) [13]
> RzCoDer © (24.09.05 23:40) [2]
>
> Хе, больше одной кнопки за раз тебе нажать не удастся! Если
> тока на серверах с несколькими процессорами.
Да и там события/сообщения будут синхронизированы )
RzCoDer (2005-09-24 23:40:00) [14]Хе, больше одной кнопки за раз тебе нажать не удастся! Если тока на серверах с несколькими процессорами.
PAVIA (2005-09-24 22:00:00) [15]Когда кнопка нажата помечаешь, что она ножата. Когда ее отпустили записывашь что ее отпустили.
var
ke:set of char;
//....
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
ke1:=ke1+[Char(Key)];
if (['A','B'] <= ke1) then caption:='A+B'
else if ('A' in ke1) then caption:='A'
else if ('B' in ke1) then caption:='B'
else caption:='';
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
ke1:=ke1-[Char(Key)];
if (['A','B'] <= ke1) then caption:='A+B'
else if ('A' in ke1) then caption:='A'
else if ('B' in ke1) then caption:='B'
else caption:='';
end;