![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 01.04.2013
Сообщений: 7
|
![]()
Здравствуйте как сделать фиксацию и перемещение объекта мышью???
Вот моя программа: Код:
________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка на панели форматирования с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось palyach; 01.05.2013 в 12:35. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Для того, чтобы перемещать изображение по экрану, нужен цикл.
В этом цикле должна быть предусмотрено изменение состояния (например, посредством клавиатуры или мыши - чем мы собираемся перемещать), а также отрисовка нового состояния (возможно, с восстановлением фона). Цикл "крутится" в течении всего времени работы программы. А дальше начинается разница в реализации специфичная для разных ОС: - в DOS этот цикл нужно организовывать в самой программе, и в этом цикле выполняются все необходимые действия - в Windows нужен отдельно цикл обработки сообщений и отдельно оконная процедура, производящая все остальные действия. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 01.04.2013
Сообщений: 7
|
![]()
а приблизительно как будет выглядеть цикл?
Просто если подключать модуль ABCObjects, то в нем есть стандартные фигуры которые можно передвигать мышью,но в эти фигуры нельзя вносить изменения ![]() Код:
________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка на панели форматирования с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Stilet; 01.05.2013 в 17:19. |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]() Цитата:
Вопрос об используемой ОС так и остался без ответа. Без него двигаться дальше нельзя. Кроме того, цикл может явно или неявно подразумевать среда программирования. Например, в Delphi этот цикл создается автоматически при создании проекта. Организовано ли это в Вашей среде программирования, и если реализовано, то как, - я не знаю. Я излагаю общие принципы, Вы должны проверить, чем располагаете именно Вы и, исходя из сопоставления информации, которую я привожу, и информации, которая у Вас есть по поводу Вашей среды программирования, сделать нужные выводы. Либо снабдить меня информацией по поводу Вашей среды разработки, которой у меня нет, тогда я, возможно, что-то смогу Вам посоветовать. По поводу кода, приведенного в последнем сообщении: я бы попытался заменить CreateRectangleABC на процедуру/объект, рисующий то, что нужно именно Вам. Последний раз редактировалось s-andriano; 01.05.2013 в 10:33. |
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 01.04.2013
Сообщений: 7
|
![]()
Это моя курсовая работа на Pascal ABC. Я хочу сделать в этом языке, программу, которая бы примерно повторяла рабочий стол windows. В исходнике ,который я выложил , нарисован рабочий стол,и папка при нажатии на которую открывается оконо. Вот эту папку и окно я хочу передвигать как в windows.Воот
![]() На скринах покажу: Последний раз редактировалось palyach; 01.05.2013 в 12:35. |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Вы хотите сами передвигать окно или реализовать передвижение средствами WinAPI?
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 01.04.2013
Сообщений: 7
|
![]()
Передвигать сам, в Pascal
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Тогда принцип общий: когда нужно что-то переместить, восстанавливаете фон под перемещаемым объектом, после чего рисуете его по новой в нужном месте.
Кстати, Вы думали над моим советом просто заменить объект RectangleABC на свой - обладающий нужными свойствами? |
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
![]()
Заранее извиняюсь, если мой совет немного не по теме, но
Цитата:
1. Закрасить объект цветом фона. 2. Нарисовать объект в новом месте (координаты x+dx и y+dy) Эти два действия выполнять в цикле... |
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перемещение граффического объекта по форме нажатием стрелок. | Blaaa | Windows Forms | 0 | 01.03.2012 20:54 |
Перемещение объекта по форме.(Управление с клавиатуры) | gralex10 | Помощь студентам | 1 | 28.03.2011 15:57 |
перемещение объекта за курсором мышки | eu8cc | Общие вопросы Delphi | 2 | 28.09.2009 22:48 |
С помощью методов и свойств объекта осуществляется управление терминалом. Имя (идентификатор) объекта | User>lia | Общие вопросы Delphi | 4 | 16.01.2009 16:37 |