Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2013, 12:07   #1
darkness2
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 10
По умолчанию С++создать фигуру

помогите сделать так, что бы при нажатии на "V" квадрат менялся на круг и наоборот.

Код:
class SETKA : public FIGURE
{
public:
SETKA()
{
                         razmer=30;
                         xc=3;
                         yc=3;
}
virtual void drew(PAINTER* painter,RECT* rc)
{
                         // серый фон
                         PEN pen_black;
                         BRUSH brush_fon(0xFFFFFF);
                         painter->rectangle(0, 0, rc->right, rc->bottom, pen_black, brush_fon);
                         // рисуем горизонтальную красную линию
                         PEN pen_red;
                         pen_red.set_color(0xFF,00,00);
                         for (int y=0; y<rc->bottom; y+=razmer)
                         {
                         painter->line(0,y,rc->right,y, pen_red);
                         }
                         for (int x=0; x<rc->right;x+=razmer)
                         {
                         painter->line(x,0,x, rc->bottom, pen_red);
                         }
 
                         PEN pen_blue(0xff0000);
                         BRUSH brush_blue(0xff0000);
                         painter->rectangle((xc-1)*razmer,(yc-1)*razmer,(xc+1)*razmer,(yc+1)*razmer, pen_blue, brush_blue);
 
 
 
                         char txt[1024];
                         sprintf(txt, "size = %d",razmer);
                         sprintf(txt, "size = %d",xc);
                         sprintf(txt, "size = %d",yc);
                         painter->text(xc, yc, txt);
}
 
virtual void on_char(char ch)
{
                         if (ch=='+')
                            razmer=razmer+5;
                         if (ch=='-')
                            razmer=razmer-5;
                         if (razmer<5)
                            razmer=5;
                         if (razmer>100)
                            razmer=100;
 
                         if (ch=='a')
                         {
                            xc=xc-1;
                         }
                         if (ch=='d')
                         {
                            xc=xc+1;
                          }
                          if (ch=='w')
                          {
                             yc=yc-1;
                           }
                          if (ch=='s')
                          {
                             yc=yc+1;
                          }
}
 
private:
                          int razmer:
                          int xc;
                          int yc;
};

Последний раз редактировалось Stilet; 02.06.2013 в 16:17.
darkness2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Используя ООП создать в динамической памяти фигуру, представляющую связный список отдельных объектов (C#) BaHDaJl Помощь студентам 0 20.06.2012 15:42
нарисовать фигуру -=Andriushka=- Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 23.10.2011 19:50
Вхождение точки в фигуру moropsk Помощь студентам 1 17.10.2010 21:41
Нарисовать фигуру Faul969 Общие вопросы C/C++ 0 09.10.2010 00:02
Нарисовать заданную фигуру wdnk Общие вопросы C/C++ 6 29.05.2009 00:21