Вниз
Скачать: CL | DM;

Нажатие несколький кнопок   Найти похожие ветки 

← →
Sysanin   (2005-09-24 20:58) [0]

Как мне отловить то что нажато две или три кнопки одновременно. С одной всё ясно.


← →
PAVIA ©   (2005-09-24 22:00) [1]

Когда кнопка нажата помечаешь, что она ножата. Когда ее отпустили записывашь что ее отпустили.
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;


← →
RzCoDer ©   (2005-09-24 23:40) [2]

Хе, больше одной кнопки за раз тебе нажать не удастся! Если тока на серверах с несколькими процессорами.


← →
Eraser ©   (2005-09-24 23:43) [3]


> RzCoDer ©   (24.09.05 23:40) [2]
>
> Хе, больше одной кнопки за раз тебе нажать не удастся! Если
> тока на серверах с несколькими процессорами.

Да и там события/сообщения будут синхронизированы )


← →
Lamer@fools.ua ©   (2005-09-25 00:07) [4]

>>Sysanin   (24.09.05 20:58)

GetKeyboardState()
?


← →
Lamer@fools.ua ©   (2005-09-25 00:09) [5]

+
GetAsyncKeyState(), GetKeyState()


← →
Германн ©   (2005-09-25 00:53) [6]

Имхо.
Первое - следует уточнить вопрос.
Второе - одновременность понятие недостижимое для стандартных устройств типа клавиатуры. Можно лишь обсуждать вопрос "сколько и какие кнопки в данный момент нажаты".


← →
Marser ©   (2005-09-25 01:11) [7]

Вообще-то то, что на клавиатуре россыпью, называется клавишами и этот вопрос в достаточной степени осветил г-н Lamer@fools.ua. Кнопку-button нажать в один момент времени можно только одну.


← →
Германн ©   (2005-09-25 01:27) [8]

2 Marser ©   (25.09.05 01:11) [7]
Как "железячник" по способу зарабатывания денег, могу только повторить [6].


← →
Lamer@fools.ua ©   (2005-09-25 01:41) [9]

>>Германн ©   (25.09.05 00:53) [6]

В данном случае то, что кнопки нажаты одновременно, означает их состояние, а не производимое над ними действие. Я так понял вопрос.


← →
Германн ©   (2005-09-25 02:20) [10]

Удалено модератором
Примечание: Личная переписка


← →
TStas ©   (2005-09-25 02:30) [11]

Может, о SpeedButton идет речь. Их-то хоть сколько вдавть можно. Так у них свойство down есть. Или о Shift?


← →
Lamer@fools.ua ©   (2005-09-25 02:31) [12]

Удалено модератором
Примечание: Личная переписка


← →
Германн ©   (2005-09-25 02:46) [13]

Удалено модератором
Примечание: Личная переписка


← →
Lamer@fools.ua ©   (2005-09-25 10:11) [14]

Удалено модератором
Примечание: Личная переписка


← →
Sysanin   (2005-10-04 19:33) [15]

Большое спасибо за ответы в ближайшем будущем разберусь с советами



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

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



Память: 0.48 MB
Время: 0.023 c
14-1128674620
SpecLab
2005-10-07 12:43
2005.10.30
Стратегия игры в Lines


14-1129095348
nk
2005-10-12 09:35
2005.10.30
Запуск сервера защиты 1С (хасп)


3-1127142793
BaxTMaH
2005-09-19 19:13
2005.10.30
Странная ошибка


14-1128589213
Loginov Dmitry
2005-10-06 13:00
2005.10.30
Имеющиеся в интернете ресурсы по Delphi


4-1121277980
Nikon
2005-07-13 22:06
2005.10.30
Ошибка в Hook ?




   Наверх