Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание перетаскиваемого объекта [D6]


Just a man ©   (2006-02-01 09:15:00) 

Трудно четко сформулировать вопрос... Попробую. Необходимо создать объект (линия, прямоугольник, эллипс и т.п.) на компоненте Image, который затем можно было бы перетаскивать как в Word или Автокаде. Пробовал так, нарисовать линию, а затем перерисовать ее, используя процедуру OnMouseMove, при отпускании мыши, положение фиксируется,но чувствую это не лучший выход. Подскажите хотя бы, в каком направлении копать.


Zeqfreed   (2006-02-01 14:13:00) [1]

Удобней всего будет, пожалуй, создать небольшую иерархию классов: базовый класс фигуры, задающий, например, положение и цвет(а) фигуры и производные от него классы, описывающие конкретные фигуры, содаржащие некоторые дополнительные свойства, специфичные для конкретной фигуры. Затем дело остается за малым: обрабатывать выбор, отрисовку и изменение свойств этих объектов.


Just a man   (2006-02-01 12:27:00) [2]

Терпит, конечно. Большое спасибо, вышли на alex-demv@rambler.ru


ЮЮ   (2006-02-01 11:35:00) [3]


>  Ведь прямоугольник создан командой Image1.Canvas.Rectangle

Так он может быть нарисован, но никак не создан.
З.Ы. Если терпит до завтра, то вышлю подобный проект, мыло оставь


Just a man   (2006-02-01 10:50:00) [4]


> А при изменении размера того де прямоугольника?

Не знаю :( А правда как быть? Ведь прямоугольник создан командой Image1.Canvas.Rectangleи я не могу сообразить какие у него свойства кроме координат и цвета? Вернее они может быть и есть, но как к ним обратиться... Ведь в моем понимании это "просто рисунок".


ЮЮ   (2006-02-01 10:12:00) [5]


> При движении мыши объект стирается на старом месте и рисуется
> на новом с координатами курсора мыши

Это при перетаскивании. А при изменении размера того де прямоугольника?


Just a man   (2006-02-01 09:55:00) [6]


>  а при манипуляциях мышью - изменять св-ва объектов и их
> перерисовывать.

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


ЮЮ   (2006-02-01 09:29:00) [7]

Направление почти правильное, только надо не "рисовать линию", а перерисовывать объекты, получая тем самым линии, прямоугольник, эллипсы, а при манипуляциях мышью - изменять св-ва объектов и их перерисовывать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо