Trocando dados
sistema autônomo ocorre com a maioria das caixas de diálogo, a troca de dados entre o folha de propriedades e o aplicativo é uma das funções mais importantes do folha de propriedades.Este artigo descreve como realizar essa tarefa.
Trocando dados com uma folha de propriedades é realmente uma questão de troca de dados com as páginas de propriedade individual da folha de propriedades.O procedimento para trocar dados com um propriedade página é o mesmo para trocar dados com uma caixa de diálogo, desde um CpropriedadePage objeto é apenas um especializados CDialog objeto.O procedimento aproveita diálogo dados troca (DDX) recurso a estrutura, que troca dados entre os controles em uma caixa de diálogo caixa e membro variáveis do objeto de caixa de diálogo.
A diferença importante entre trocando dados com um propriedade da folha e com uma caixa de diálogo normal caixa é que o propriedade folha possui várias páginas, para que você deve trocar dados com todas as páginas a propriedade folha.Para obter mais informações sobre DDX, consulte Caixa de diálogo dados Exchange e validação.
O exemplo a seguir ilustra a troca de dados entre um modo de exibição e duas páginas de uma folha de propriedades:
void CMyView::DoModalPropertySheet()
{
CPropertySheet propsheet;
CMyFirstPage pageFirst; // derived from CPropertyPage
CMySecondPage pageSecond; // derived from CPropertyPage
// Move member data from the view (or from the currently
// selected object in the view, for example).
pageFirst.m_nMember1 = m_nMember1;
pageFirst.m_nMember2 = m_nMember2;
pageSecond.m_strMember3 = m_strMember3;
pageSecond.m_strMember4 = m_strMember4;
propsheet.AddPage(&pageFirst);
propsheet.AddPage(&pageSecond);
if (propsheet.DoModal() == IDOK)
{
m_nMember1 = pageFirst.m_nMember1;
m_nMember2 = pageFirst.m_nMember2;
m_strMember3 = pageSecond.m_strMember3;
m_strMember4 = pageSecond.m_strMember4;
GetDocument()->SetModifiedFlag();
GetDocument()->UpdateAllViews(NULL);
}
}