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

       

Редактирование документа


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

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

В тех методах класса окна просмотра документа, где содержимое документа (соответствующие элементы класса) изменяется, для получения доступа к документу следует объявить указатель pDoc на текущий документ и получить его при помощи метода GetDocument класса окна просмотра. Изменить содержание документа, на который указывает pDoc. Затем следует установить флаг изменения документа, вызвав метод SetModifiedFlag для объекта, на который указывает pDoc. Далее для mdi-приложения необходимо вызвать метод UpdateAllViews класса документадля перерисовки всех обликов данного документа.

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

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

void CMyView::OnDraw(CDC* pDC) { CDoc* pDoc = GetDocument();

// Вывод содержимого документа, на который указывает pDoc, в окно // просмотра с использованием контекста устройства, указываемого pDC …… }



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