1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
Требуеться создать примитивный расширяемый графический редактор. Основные функции: размещение двух типов обьектов- прямоугольник и треугольник. обьекты можно создавать и двигать по окну при помощи мыши. групповое создание обектов. сохранение и загрузка.
Не знаю с чего начать. Как создать окно где будут прорисовываться обьекты? Для описания,например,прямоугольников, лучше всего, создать тип, который хранит в себе 4 координаты по Ох и Оу? Как реализовать прорисовку линий между этими координатами? Почему ColorDialog не растягиваеться?
Даже если описать функции которые выдают true при попадании в фигуру, то все равно необходимо узнать её координаты. Как это сделать?
Фигура вообще-то сама хранит свои координаты... То есть, смотри:
// Это - абстрактный базовый класс, ты не можешь создавать экземпляры этого класса class figure { protected: virtual bool isInside(TPoint &mouse) = 0; };
class triangle: public figure { // здесь - признаки, характерные для треугольника // Собственно, тут и храним 3 точки, образующие треугольник: TPoint a, b, c;
virtual bool isInside(TPoint &mouse) { ... // проверяем попадание mouse в треугольник (именно образованный точками a, b, c) } ... };
class rectangle: public figure { // здесь - признаки, характерные для прямоугольника // Прямоугольник определяется двумя точками: верхний левый и правый нижний угол: TPoint leftUp, rightDown;
virtual bool isInside(TPoint &mouse) { ... // проверяешь попадание mouse в прямоугольник (определяемый полями leftUp и rightDown) } ... };
Больше ничего пока сказать не могу, не видя, как именно ты реализовал работу с фигурами... Если хочешь - присоедини свой проект (можно в приват)...