Поделиться через


Обмен данными

Как и в большинстве диалоговыми окнами, обмен данными между страницей свойств и приложением одной из наиболее важных функций страницы свойств.В этой статье описывается, как выполнить эту задачу.

Обмен данными с страницей свойств действительно дело обмена данными с веб-страницами отдельной свойства страницы свойств.Процедура для обмена данными со страницей свойств такая же, как для обмена данными с диалоговым окном, поскольку объект CPropertyPage просто специализированный объект CDialog.Процедура использует преимущества средства обмена данными диалоговых окон (DDX) платформы, что обмен данными между элементами управления в диалоговом окне и переменными члена объекта диалогового окна.

Важное различие между обмене данными с страницей свойств и с обычным диалоговым окном, что страница свойств содержит несколько страниц, поэтому обмена данными с всеми страницами на странице свойств.Дополнительные сведения о DDX см. в разделе обмен данными и проверка диалогового окна.

В следующем примере показан обмен данными между представлением и 2 страницами страницы свойств:

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

См. также

Основные понятия

Страницы свойств (MFC)