Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2009, 19:41   #1
include
Пользователь
 
Аватар для include
 
Регистрация: 14.04.2009
Сообщений: 42
Вопрос перемещение компанента клавишами

Здравствуйте!
Подскажите пожалуйста как можно реализовать перемещение какого нибудь компанента по форме (например button), клавишами клавиатуры (например стрелками). Очень надо!
include вне форума Ответить с цитированием
Старый 12.08.2009, 19:54   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Взгляните на похожие темы внизу страницы .. и это только те которые очень похоже называются
vovk вне форума Ответить с цитированием
Старый 12.08.2009, 20:29   #3
include
Пользователь
 
Аватар для include
 
Регистрация: 14.04.2009
Сообщений: 42
По умолчанию

не то это всё (....мне надо на делфе и чтоб перемещение было плавным
include вне форума Ответить с цитированием
Старый 12.08.2009, 20:57   #4
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

действие на нажатие клавиши в form1
Код:
if key=стрелочка в верх then 
button.top+1;
такое надо?
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 12.08.2009, 21:07   #5
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Ну если "не то это всё", то вот код:
Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 case Chr(Key) of
  'A': bt_1.Left := bt_1.Left - 5;
  'D': bt_1.Left := bt_1.Left + 5;
  'W': bt_1.Top := bt_1.Top - 5;
  'S': bt_1.Top := bt_1.Top + 5;
 end;
end;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 12.08.2009, 22:19   #6
include
Пользователь
 
Аватар для include
 
Регистрация: 14.04.2009
Сообщений: 42
По умолчанию

Neeter! Твой код компилится но не работает

Последний раз редактировалось include; 12.08.2009 в 22:26.
include вне форума Ответить с цитированием
Старый 12.08.2009, 22:53   #7
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

If key=VK_UP then batton1.Top:=batton1.Top-2;
If key=VK_LEFT then batton1.Left:=batton1.Left-2;
If key=VK_DOWN then batton1.top:=batton1.top+2;
If key=VK_RIGHT then batton1.left:=batton1.Left+2;

end;
procedure TForm1.FormCreate(Sender: TObject);
begin
batton1.Enabled:=false;
end;
Все дело в том, что кнопка(batton1) находится в активном состоянии и ты ее передвигать не можешь. Код Neeter'а прекрасно работает
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 12.08.2009, 23:48   #8
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Код:
Neeter! Твой код компилится но не работает
Хм, а у меня работает... А вы KeyPreview выставили в true?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 13.08.2009, 12:15   #9
include
Пользователь
 
Аватар для include
 
Регистрация: 14.04.2009
Сообщений: 42
По умолчанию

Извени Neeter! Всё правильно, я забыл за KeyPreview
P.S. а можно такое же сделать для Image? У него же нету события onkeydown
include вне форума Ответить с цитированием
Старый 13.08.2009, 12:33   #10
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Цитата:
а можно такое же сделать для Image? У него же нету события onkeydown
У меня в коде обрабатывается событие onKeyDown формы, а не кнопки.
Следовательно и для Image подойдет.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с горячими клавишами InsaniaF Microsoft Office Word 4 21.05.2009 11:37
Движение обьекта клавишами в с++ Grizzzli Помощь студентам 2 05.04.2009 12:43
Какого компанента данные классы? Nytlec Компоненты Delphi 2 16.01.2009 14:57
Перемещение кнопки клавишами Wolfic Помощь студентам 15 16.10.2007 17:41
От String -га к имени компонента Tiolic Общие вопросы Delphi 3 09.06.2007 18:28