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

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

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

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

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

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

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

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

8
Почетный модератор
64303 / 47600 / 32742
Регистрация: 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
Почетный модератор
64303 / 47600 / 32742
Регистрация: 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
5869 / 4597 / 1448
Регистрация: 14.04.2014
Сообщений: 20,401
Записей в блоге: 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
5869 / 4597 / 1448
Регистрация: 14.04.2014
Сообщений: 20,401
Записей в блоге: 20
05.06.2017, 15:52 9
"через них" вы будете иметь информацию о состоянии клавиатуры
а будет "работать" или нет, это от кода зависит
0
05.06.2017, 15:52
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.06.2017, 15:52
Помогаю со студенческими работами здесь

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru