Управление данными с помощью переменных данных документа
Реализуйте данные документа как переменные-члены класса документов. Например, программа Scribble объявляет элемент данных типа CObList
— связанный список, в который хранятся указатели на CObject
объекты. Этот список используется для хранения массивов точек, составляющих рисунок линии бесплатной линии.
Реализация данных члена документа зависит от характера приложения. Чтобы помочь вам, MFC предоставляет группу "классов коллекций" — массивов, списков и карт (словарей), включая коллекции на основе шаблонов C++, а также классы, которые инкапсулируют различные распространенные типы данных, такие как CString
, CRect
, CPoint
и CSize
CTime
. Дополнительные сведения об этих классах см. в обзоре библиотеки классов в справочнике по MFC.
При определении данных-члена документа обычно добавляются функции-члены в класс документов для задания и получения элементов данных и выполнения других полезных операций с ними.
Представления получают доступ к объекту документа с помощью указателя представления на документ, установленного во время создания. Этот указатель можно получить в функциях-членах представления, вызвав функцию-член CView
GetDocument
. Обязательно приведите этот указатель на собственный тип документа. Затем вы можете получить доступ к общедоступным элементам документа с помощью указателя.
Если для частой передачи данных требуется прямой доступ или вы хотите использовать неопубликованные члены класса документов, возможно, потребуется сделать класс представления другом (в терминах C++) класса документов.