Sdílet prostřednictvím


Výměna dat

Stejně jako u většiny dialogových oken je výměna dat mezi seznamem vlastností a aplikací jednou z nejdůležitějších funkcí seznamu vlastností. Tento článek popisuje, jak tuto úlohu provést.

Výměna dat pomocí seznamu vlastností je ve skutečnosti otázkou výměny dat s jednotlivými stránkami vlastností seznamu vlastností. Postup výměny dat se stránkou vlastností je stejný jako při výměně dat pomocí dialogového okna, protože CPropertyPage objekt je pouze specializovaný objekt CDialog . Tento postup využívá možnost výměny dat dialogového okna rozhraní (DDX), která vyměňuje data mezi ovládacími prvky v dialogovém okně a proměnnými členů objektu dialogového okna.

Důležitým rozdílem mezi výměnou dat se seznamem vlastností a normálním dialogovým oknem je, že seznam vlastností má více stránek, takže je nutné vyměňovat data se všemi stránkami v seznamu vlastností. Další informace o DDX naleznete v tématu Výměna a ověřování dat dialogového okna.

Následující příklad znázorňuje výměnu dat mezi zobrazením a dvěma stránkami seznamu vlastností:

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

Viz také

Seznamy vlastností