Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];
ВнизГрафические объекты Найти похожие ветки
← →
Marconi (2003-07-22 23:53) [0]Нужно рисовать некие геометрические фигуры из линий. С этим сложностей нет, но они должны быть не пассивные, а реагировать на некоторые действия. То есть например отрабатывать клик мышки на линию(например для последующего удаления). Соответственно просто рисование на канве не очень то и подходит. С чего бы начать? Может кто-то решал подобные задачи?
← →
Suntechnic (2003-07-23 01:04) [1]Многое зависит от того, что это за геометрические фигуры. Здесь два варианта решения:
1) Геометрические фигуры это контролы которые получаются из обычных окошек путём SetWindowRgn. Регионы при этом могут быть весьма и весьма замысловатые. Положительный момент здесь тот, что раз это контролы то и сообщения они могут обрабатывать с необычайной лёгкостью. К отрицательным сторонам относиться тот факт, что не каждую геом. фигуру можно представить в виде региона + ресурсы GDI небесконечны.
2) Рисовать "вручную". Делать некое подобие VCL-кого класса TLabel. Положительные моменты на лицо, к отрицательным относится тот факт, что сообщения будет получать то окно, на котором будет осуществляться рисование и диспетчеризировать их к этим "ручным" контролам придётся опять же вручную.
← →
Спрашивающий_ (2003-07-23 03:24) [2]Могу добавить если выбран второй вариант то облегчением задачи по разграничению работы с отдельными частями общего рисунка это- каждую часть можно прорисовывать не на общем "холсте", а на отдельном коим может явиться TBitmap-почему так думаю объяснять не надо,а затем все собирать воедино, тем самым можно эмулировать выделение конкретной части, ну а далее геометрия и математика........
← →
race1 (2003-07-23 05:58) [3]я решаю подобную задачу (Marconi - а не одну и туже? ;) и решил использовать наследник TGraphicControl"а. здесь что ли так много минусов, что он в список не включён? :)
← →
Marconi (2003-07-23 07:10) [4]to Suntechnic
Фигуры элементарные, линии, максимум кадрат из этих линий, я уловил суть, спасибо попробоую...
← →
Dick (2003-07-23 08:29) [5]Самый простой вариант - TPaintBox.
В OnMouseDown(up,move) - реализация "живого" поведения.
Лучше всего фигуры сделать объектами, завести список этих объектов и уже с ним работать.
← →
Marconi (2003-07-23 09:24) [6]to Dick
PaintBox создаёт рамку и ловит нажатие, даже нажимать не на линии
← →
KSergey (2003-07-23 10:04) [7]Marconi © (23.07.03 07:10)
to Suntechnic
Фигуры элементарные, линии, максимум кадрат из этих линий, я уловил суть, спасибо попробоую...
Линии только вертикальные и горизонтальные? Или произвольного наклона? Если только первое - тогда на 100% можно обойтись TShape - все нужные задачи это решит (и по квадратам в том числе).
← →
Marconi (2003-07-23 10:22) [8]KSergey
в том и дело что произвольные...в общем пара идей есть, всем спасибо буду пробовать
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.213 c