Визуальное программирование и MFC

       

Редактирование документов (и обликов)


В классе документа следует определить элементы (простые переменные, переменные структурного типа, объекты различных классов и др.), отвечающие за хранение данных документа, считываемых и записываемых в файл.

Если в процессе работы с документом выделяется дополнительная память для хранения информации, то в деструкторе класса документа необходимо освободить всю дополнительную память, полученную в процессе работы.

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

  • объявить указатель pDoc на текущий документ и получить его при помощи метода GetDocument класса окна просмотра;
  • изменить графическое изображение документа;
  • изменить содержимое документа, на который указывает pDoc;
  • установить флаг изменения документа, вызвав метод pDoc.SetModifiedFlag(TRUE);
  • для mdi-приложения вызвать метод pDoc.UpdateAllViews(this) для перерисовки всех обликов документа (кроме текущего), на который указывает pDoc.
  • Для класса окна просмотра переопределить метод OnUpdate для того, чтобы выводить в этом методе только последние изменения, т.к. метод CView::OnUpdate базового класса просто вызывает метод OnDraw для перерисовки всего изображения.

    Для восстановления всего изображения в окне просмотра после перекрытия окна необходимо изменить метод OnDraw класса окна просмотра документа, добавив вывод всего изображения.



    Содержание раздела