Freigeben über


Austausch-Daten

Wie bei den meisten Dialogfeldern, ist der Austausch von Daten zwischen der Anwendung und dem Eigenschaftenblatt eine der wichtigsten Features des Eigenschaftenblatts.In diesem Artikel wird beschrieben, wie diese Aufgabe erfüllt.

tauschen Daten mit einem Eigenschaftenblatt ist eigentlich ein Stoff der Austausch von Daten mit den einzelnen Eigenschaftenseiten des Eigenschaftenblatts.Die Schritte zum Austausch von Daten mit einer Eigenschaftenseite ist die gleiche wie für den Austausch von Daten mit einem Dialogfeld, da ein CPropertyPage-Objekt gegenwärtig ein spezialisiertes CDialog-Objekt ist.Die Prozedur verwendet die Funktion des Dialogdatenaustauschs des Frameworks (Dialog Data Exchange, DDX), die Austausch von Daten zwischen Steuerelementen in einem Dialogfeld und Membervariablen des Dialogfelds Objekts.

Der wichtige Unterschied zwischen dem Austausch von Daten mit einem Eigenschaftenblatt und mit einem normalen Dialogfeld ist, dass das Eigenschaftenblatt mehrere Seiten enthält. Daher müssen Sie Daten mit allen Seiten im Eigenschaftenblatt.Weitere Informationen über DDX finden Sie unter Dialogdatenaustausch und Validierung.

Im folgenden Beispiel wird Austausch von Daten zwischen einer Ansicht und zwei Seiten eines Eigenschaftenblatts:

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);
   }
}

Siehe auch

Konzepte

Eigenschaftenblätter (MFC)