Gerenciando dados com variáveis de dados do documento
Implemente os dados do documento como variáveis membro da classe de documento. Por exemplo, o programa Scribble declara um membro de dados do tipo CObList
– uma lista vinculada que armazena ponteiros para objetos CObject
. Essa lista é usada para armazenar matrizes de pontos que compõem um desenho de linha à mão livre.
A forma como você implementa os dados de membro do documento depende da natureza do aplicativo. Para ajudar, o MFC fornece um grupo de "classes de coleção" – matrizes, listas e mapas (dicionários), incluindo coleções baseadas em modelos C++ – juntamente com classes que encapsulam uma variedade de tipos de dados comuns, como CString
, CRect
, CPoint
, CSize
e CTime
. Para obter mais informações sobre essas classes, consulte a Visão geral da Biblioteca de Classes na Referência do MFC.
Ao definir os dados de membro do documento, você geralmente adicionará funções membro à classe de documento para definir e obter itens de dados e executar outras operações úteis neles.
Suas exibições acessam o objeto de documento usando o ponteiro da exibição para o documento, instalado na exibição no momento da criação. Você pode recuperar esse ponteiro nas funções membro de uma exibição chamando a função membro CView
GetDocument
. Certifique-se de converter esse ponteiro em seu tipo de documento. Em seguida, você pode acessar membros de documentos públicos por meio do ponteiro.
Se transferências de dados frequentes exigirem acesso direto ou se você quiser usar os membros não públicos da classe de documento, convém tornar sua classe de exibição uma amiga (em termos de C++) da classe de documento.