Sdílet prostřednictvím


CPropertyPage::OnWizardFinish

Tato funkce člena se nazývá rámcem po klepnutí na tlačítko Dokončit v průvodci.

virtual BOOL OnWizardFinish( );

Vrácená hodnota

Nenulová hodnota, pokud seznam vlastností zničen po dokončení Průvodce; jinak nula.

Poznámky

Když uživatel klepne Dokončit tlačítka v Průvodci rámci volání této funkce; Při OnWizardFinish vrátí TRUE (nenulová hodnota), může být zničeny vlastností (ale není skutečně zničeny).Volání DestroyWindow zničit vlastností.Do not call DestroyWindow from OnWizardFinish; Učiníte tak způsobí poškození haldy nebo jiné chyby.

Tato funkce člena určit některé akce, které musí provést uživatel po klepnutí na tlačítko Dokončit můžete přepsat.Při přepsání této funkce, vrátit FALSE vlastností zabránit zničen.

Další informace o oznámení odesláno, když uživatel stiskne tlačítko Dokončit v okně vlastností Průvodce viz PSN_WIZFINISH v .

Další informace týkající se vlastností typ průvodce viz CPropertySheet::SetWizardMode.

Příklad

// Inform users regarding the selections they have made by 
// navigating the pages in propertysheet.
BOOL CShapePage::OnWizardFinish()
{
   CString report = _T("You have selected the following options:\n");

   // Get the number of property pages from CPropertySheet.
   CPropertySheet* sheet = (CPropertySheet*) GetParent();
   int count = sheet->GetPageCount();   

   // Get the formatted string from each page. This formatted string 
   // will be shown in a message box. Each page knows about the 
   // string to be displayed. For simplicity, we derive a class 
   // from CPropertyPage called CMyPropertyPage. CMyPropertyPage 
   // has a pure virtual member function called GetPageSelections().
   // All pages in the property sheet must be derived from 
   // CMyPropertyPage so we loop through each page to get the 
   // formatted string by calling the GetPageSelections() function.
   for (int i = 0; i < count; i++)
   {
      CMyPropertyPage* page = (CMyPropertyPage*) sheet->GetPage(i);

      CString str;
      page->GetPageSelections(str);
      report += _T("\n") + str;
   }

   AfxMessageBox(report);

   return CPropertyPage::OnWizardFinish();
}
// An example of implementing the GetPageSelections() for CStylePage.
// CStylePage is a CMyPropertyPage-derived class, which in turn is a 
// CPropertyPage-derived class.
void CStylePage::GetPageSelections(CString &str)
{
   str.Format(_T("Number of objects to be created = %d"), m_NumObjects);
}
// An example of implementing the GetPageSelections() for CColorPage.
// CColorPage is a CMyPropertyPage-derived class, which in turn is a 
// CPropertyPage-derived class.
void CColorPage::GetPageSelections(CString &str)
{
   str = _T("Color selected is ");   
   switch (m_Color)
   {
   case RGB(0, 0, 0):
      str += _T("Black");
      break;

   case RGB(255, 0, 0):
      str += _T("Red");
      break;

   case RGB(0, 255, 0):
      str += _T("Green");
      break;

   case RGB(0, 0, 255):
      str += _T("Blue");
      break;

   default:
      str += _T("Custom");
      break;
   }
}
// An example of implementing the GetPageSelections() for CShapePage.
// CShapePage is a CMyPropertyPage-derived class, which in turn is a 
// CPropertyPage-derived class.
void CShapePage::GetPageSelections(CString &str)
{
   CString shapename;
   switch (m_Selection)
   {
   case IDC_RECTANGLE:
      shapename = _T("Rectangle");
      break;

   case IDC_ROUND_RECTANGLE:
      shapename = _T("Round Rectangle");
      break;

   case IDC_ELLIPSE:
      shapename = _T("Ellipse");
      break;
   }

   str.Format(_T("Shape to be created is %s"), shapename);
}

Požadavky

Záhlaví: afxdlgs.h

Viz také

Referenční dokumentace

Třída CPropertyPage

Diagram hierarchie

CPropertySheet::SetWizardMode