Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нажатие несколький кнопок [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо