CPropertySheet::DoModal

virtual int DoModal();

返回值:
如果函数成功则返回IDOK或IDCANCEL;否则返回0或-1。如果此属性表是作为一个向导(参见SetWizardMode)建立的,DoModal返回ID_WIZFINISH或IDCANCEL。

说明:
此成员函数用来显示一个模式属性表。其返回值对应于用来关闭属性表的控件的ID。此函数返回后,Windows响应这个属性表,所有的属性页都会被销毁。而这些对象本身仍然存在。通常,你将在DoModal返回IDOK之后从CPropertyPage对象检取数据。
要显示一个无模式属性表,请调用Create来代替此函数。
注意:
在一个属性页被第一次从它相应的对话框资源创建时,它有可能引发一个第一次机会(first-chance)异常。这是在创建此页之前属性页将对话框资源的风格改变成了所需的风格的结果。因为资源通常来说是只读的,所以这导致了一个异常。这个异常由系统处理,系统会自动拷贝修改后的资源。这样,第一次机会(first-chance)异常就被忽略了。
由于这个异常必须由操作系统来处理,所以不要用一个C++ try/catch块来隐藏调用CPropertySheet::DoModal,因为在一个C++ try/catch块中catch会处理所有的异常,比如,catch(...)。它将处理那些属于操作系统的异常,这将导致不可预料的行为发生。但是,通过指定异常类型或结构化异常处理来处理C++异常就是安全的,在结构化异常处理中,访问非法异常被传递给操作系统。

请参阅:
CDialog::DoModal, CPropertySheet::Create