Текущий архив: 2004.07.18;
Скачать: 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 вся ветка
Текущий архив: 2004.07.18;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.033 c