2. Запустите среду Microsoft Visual Studio C++ и создайте новый проект на основе шаблона MDI приложения. Для этого выберете пункты меню File-New и в окне конструктора проектов выберете тип проекта MFC AppWizard(exe). В следующем окне выберете тип приложения Multiple documents.
3. Добавьте в класс, порожденный от класса CDocument следующие элементы:
POINT ppt[1000]; //Массив координат отрезков прямых для рисования
int NumPoints; //Количество координат в массиве
COLORREF COLOR; //Цвет линий
4. В конструкторе класса, порожденного от класса CDocument проинициализируйте значение переменной NumPoints=0;. Задайте цвет линий, например COLOR=RGB(255,0,0);.
5. В функции OnDraw класса, порожденного от CView добавьте следующие строки:
CPen Pen(PS_SOLID,1,pDoc->COLOR);
pDC->SelectObject(&Pen);
for (int i=0;i < pDoc->NumPoints;i++) pDC->LineTo(pDoc->ppt[i]);
Данная функция формирует изображение в окне просмотра документа.
6. Добавьте в класс, порожденный от CView функцию-обработчик сообщения WM_LBUTTONDOWN (используйте ClassWizard или контекстное меню Add Windows Message Handler). Добавьте в данную функцию следующие строки:
C<имя проекта>Doc*pDoc=GetDocument(); //Получение указателя на объект документа
pDoc->ppt[pDoc->NumPoints++]=point; //Запоминание координаты курсора мыши
pDoc->UpdateAllViews(0); //Обновление содержимого окна просмотра
Данная функция вызывается когда пользователь щелкает мышью в окне просмотра, при этом программа запоминает координаты щелчка в массиве ppt.
7. Модифицируйте функцию Serialize класса, порожденного от CDocument. Для сохранения файла (в блоке if (ar.IsStoring())) добавьте строки:
ar << NumPoints; //Сохранение в файле количества точек
for (int i=0;i < NumPoints;i++) ar << ppt[i]; //Сохранение в файле координат точек
а для чтения файла добавьте строки
ar >> NumPoints; //Чтение из файла количества точек
for (int i=0;i < NumPoints;i++) ar >> ppt[i]; //Чтение координат точек
8. Откомпилируйте программу. В результате выполнения должно появиться окно программы, показанное на рис.1.
Рис.1. Окно программы
Если щелкать мышью в окне просмотра документа, то на экране должны рисоваться линии в координатах курсора мыши (рис.1). В программе можно создать несколько документов и нарисовать несколько разных рисунков. Можно добавить дополнительное окно просмотра посредством выбора пунктов меню Window-New Window и отслеживать изменения в обоих окнах одновременно. Рисунки можно сохранить на диске посредством выбора пунктов меню File-Save.
Проверьте работу программы создав несколько разных документов, сохраните их а затем откройте. Также автоматически должна стать доступна функция печати документа (если на компьютере установлен принтер).
|