Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 03.10.2016
Сообщений: 47
1

Передвижение формы

05.06.2017, 11:13. Показов 1361. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как сделать передвижение формы, когда картинка достигала,какой-то координаты, форма двигалась. Я написал код, но ничего не работает.
Delphi
1
2
//if (key=68) and (xmario>496) then
    // Form1.Width:=Form1.width+10;
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2017, 11:13
Ответы с готовыми решениями:

Передвижение формы
Доброго времени суток. Нужна ваша помощь. Необходимо реализовать передвижение формы по экрану......

Передвижение кнопки по периметру формы
Помогите создать программку, чтобы кнопка по форме перемещалась на рандомное кол-во точек и по...

Передвижение
Не знаю была уже такая тема или нет, но все-таки создан заново. Хотелось бы спросить, может...

передвижение кнопки
Нужно сделать так, чтобы кнопка при передвижении описывала ромб, с помощью таймера.

8
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.06.2017, 11:33 2
А свойство формы keyprewiev выставили в true?
0
0 / 0 / 0
Регистрация: 03.10.2016
Сообщений: 47
05.06.2017, 12:10  [ТС] 3
Пополнил код, но ничего не изменилось
Delphi
1
2
3
4
5
6
if (key=68) and (xmario>496) then
  begin
     Form1.Width:=Form1.width+10;
     keypreview:=true;
 
  end;
0
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750
05.06.2017, 12:28 4
на сколько я знаю:
1. OnKeyDown - вызывается, когда на клавиатуре нажимается любая клавиша. OnKeyUp - вызывается, когда любая клавиша на клавиатуре отпускается. OnKeyPress - вызывается, когда нажимается клавиша, отвечающая за определённый ASCII символ.

2. События OnKeyDown и OnKeyUp обеспечивают самый низкий уровень ответа клавиатуры. Обработчики OnKeyDown и OnKeyUp могут реагировать на все клавиши клавиатуры, включая функциональные и комбинации с клавишами Shift, Alt, и Ctrl.

События клавиатуры - не взаимоисключающие. Когда пользователь нажимает клавишу, то генерируются два события OnKeyDown и OnKeyPress, а когда отпускает, то только одно: OnKeyUp. Если пользователь нажмёт одну из клавиш, которую OnKeyPress не сможет определить, то будет сгенерировано только одно событие OnKeyDown, а при отпускании OnKeyUp

так как курсорные клавиши не имеют символьного представления то и события не будет сгенерировано.
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.06.2017, 12:52 5
Лучший ответ Сообщение было отмечено MursikSix как решение

Решение

Вот такое нормально работает
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=68 then
  begin
     Form1.Width:=Form1.width+10;
     keypreview:=true;
  end;
end;
Значит у Вас проблема с
Delphi
1
(xmario>496)
1
0 / 0 / 0
Регистрация: 03.10.2016
Сообщений: 47
05.06.2017, 13:33  [ТС] 6
Хм, ничего не выходит xmario(это картинка по x), когда она достигает этой координаты 476, форма должна расширяться.
0
5860 / 4588 / 1448
Регистрация: 14.04.2014
Сообщений: 20,357
Записей в блоге: 20
05.06.2017, 13:55 7
поэтому в играх не пользуются событиями клавиш, а в таймере считывают состояние интересующих клавиш через GetAsyncKeyState или GetKeyboardState

А еще обращаться к Form1 в методе TForm1 - нехорошая ошибка
0
0 / 0 / 0
Регистрация: 03.10.2016
Сообщений: 47
05.06.2017, 14:25  [ТС] 8
Через них всё будет работать?
0
5860 / 4588 / 1448
Регистрация: 14.04.2014
Сообщений: 20,357
Записей в блоге: 20
05.06.2017, 15:52 9
"через них" вы будете иметь информацию о состоянии клавиатуры
а будет "работать" или нет, это от кода зависит
0
05.06.2017, 15:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2017, 15:52
Помогаю со студенческими работами здесь

Передвижение объектов
Помогите. Пришлите код движения! Кинуть на форму любую панель или что-то еще и чтобы оно двигалось...

передвижение бутон
Мне нужно чтобы Button1 или Image1 передвигался по форме в разном напровлении не выходя за форму....

Передвижение мышью графика.
Есть программа которая рисует графики. Код который передвигает график: procedure...

Передвижение объекта по таймеру
В общем нужно чтобы после появления объекта он двигался ровно вправо. Решил что лучше использовать...

Передвижение нарисованного объекта
Прошу прощения, если есть такая тема, задали задание нарисовать объект и чтобы он двигался по...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru