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

А можно обработать сразу две клавиши ?   Найти похожие ветки 

← →
Developer   (2004-07-01 20:29) [0]

Суть такова, при нажатие клавиши кнопка движеться по форме. При этоодновременно работает только одна клавиша, та что нажата последней. Можно сразу две обработать клаваши? чтобы например подвигать кнопку по диагонали.

if key=vk_right then begin
moveB.Left:=MoveB.Left+5;
end;


← →
Rem   (2004-07-01 20:32) [1]

Для двигания кнопок по форме нет ничего лучше двух мышек!


← →
default ©   (2004-07-01 20:35) [2]

так по какой-нибудь кнопке делай
if key=<X> then begin
moveB.Left:=MoveB.Left+5;
moveB.Top:=MoveB.Top-5;
end;
и тд


← →
ламер ©   (2004-07-01 20:52) [3]

смысл такой:
в private секции:
FLeftKeyPressed, FRightKeyPressed, FUpKeyPressed,
FDownKeyPressed: Boolean;

в OnKeyDown устанавливаешь нужную переменную в True, в OnKeyUp - в False. по таймеру проверяешь:

if FLeftKeyPressed and FUpKeyPressed then ...


← →
Developer   (2004-07-01 21:40) [4]

Спасибо Ламер, все нормально заработало, есть еще пара вопросов, почему перед буленами принято ставить F, и кроме флагов средствами GDI нельзя заставить двигать обьект при одновременно двух и более нажатых клавишах? спасибо.


← →
Developer   (2004-07-01 22:16) [5]

if fUpKeyPressed=True and FRightKeyPressed = True then
begin
if moveB.Top>=2 then begin
moveB.Top:=moveB.Top-5;
end;
if moveB.Left<=414 then begin
moveB.Left:=moveB.Left+5;
end;
Когда вот это в таймере то порождаеться Ексцепшен, не пойму что не так написал, пока по диагонали просчитать не удаеться..


← →
Глеб ©   (2004-07-02 04:07) [6]


> Для двигания кнопок по форме нет ничего лучше двух мышек!


Я пробовал подкючать 2 мышки. Не помогает.



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

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



Память: 0.46 MB
Время: 0.021 c
3-1087464074
souLLamer
2004-06-17 13:21
2004.07.18
Помогите преобразовать Date -> Integer и обратно.


9-1079633312
Delpher_Gray
2004-03-18 21:08
2004.07.18
Разрезание текстур размером больше 256x256 в DirectXGraphics -D3D


1-1088682016
goliath
2004-07-01 15:40
2004.07.18
Проблема c Windows Metafile


14-1088184065
XeLax
2004-06-25 21:21
2004.07.18
Узнать имя сообщения по номеру


1-1088822560
Максим
2004-07-03 06:42
2004.07.18
Как программно создать и удалить папку?




   Наверх