Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT

         

к массиву, определяющему документ, новый


      CClientDC dc(this);

      dc.Rectangle(point.x-10, point.y-10,

                         point.x+10,point.y+10);

      // Сохраняем характеристики квадрата

      CFigure OneFigure;

      OneFigure.xyFigCenter = point;

      OneFigure.cType = 'R';

      // Добавляем к массиву, определяющему документ, новый

      // элемент

      pDoc->arrayFig.Add(OneFigure);

      // Вызываем метод OnRButtonDown базового класса CView

      CView::OnRButtonDown(nFlags, point);

}

Теперь координаты и форма всех нарисованных фигур запоминаются в классе документа. Следующим шагом надо определить, как отображать эти фигуры на экране. Для этого следует внести изменения в метод OnDraw класса окна просмотра CSingleView.

//////////////////////////////////////////////////////////////

// Метод OnDraw класса окна просмотра

void CSingleView::OnDraw(CDC* pDC)

{

      CSingleDoc* pDoc = GetDocument();

      ASSERT_VALID(pDoc);

      // TODO:

      int i;

      for (i=0; i<pDoc->arrayFig.GetSize(); i++)

      {

             if(pDoc->arrayFig[i].cType == 'E')

                   pDC->Ellipse(pDoc->arrayFig[i].xyFigCenter.x-10,

                                                                pDoc->arrayFig[i].xyFigCenter.y-10,

                                                                pDoc->arrayFig[i].xyFigCenter.x+10,

                                                                pDoc->arrayFig[i].xyFigCenter.y+10);

             else if (pDoc->arrayFig[i].cType == 'R')

                   pDC->Rectangle(pDoc->arrayFig[i].xyFigCenter.x-10,

                                                                pDoc->arrayFig[i].xyFigCenter.y-10,

                                                                pDoc->arrayFig[i].xyFigCenter.x+10,

                                                                pDoc->arrayFig[i].xyFigCenter.y+10);

      }

}

Постройте проект и запустите полученное приложение. Вы можете свободно изменять размеры окна приложения, перекрывать его окно окнами других приложений, минимизировать и восстанавливать размеры окна. Изображение документа, которое вы нарисуете, не пропадет.

Вы даже можете распечатать нарисованный документ на принтере. А ведь вы не написали для этого не единой строки кода. Перед печатью документа его можно проверить в режиме предварительного просмотра (рис. 5.14). Для этого выберите из меню File строку Print Preview



Рис. 5.14. Режим предварительного просмотра документа перед печатью


Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий