CPropertyPage::OnOK
更新 : 2007 年 11 月
ユーザーが [OK] または [今すぐ適用] ボタンのどちらかをクリックしたとき、フレームワークが OnKillActive を呼び出した直後に呼び出します。
virtual void OnOK( );
解説
ユーザーが [OK] または [今すぐ適用] ボタンのどちらかをクリックしたとき、フレームワークはプロパティ ページから PSN_APPLY 通知を受け取ります。CPropertySheet::PressButton を呼び出したときは、プロパティ ページは通知を送らないので、OnOK の呼び出しは行われません。
ユーザーがプロパティ シート全体を非表示にするときに、現在アクティブなページに対して特別な動作を実装するには、この関数をオーバライドします。
既定の実装では、OnKillActive 関数でデータが更新されたことを反映するために、"クリーン" としてページをマークします。
使用例
// Accept the new color selection and dismiss the CPropertySheet
// dialog. The view's object will be painted with the new selected
// color. CColorPage is a CPropertyPage-derived class.
void CColorPage::OnOK()
{
// Store the new selected color to a member variable of
// document class. m_Color is a member varible of CColorPage
// and it stores the new selected color. doc->m_Color is
// the color saved in the document class and it is the color
// used by the view class.
CMDIFrameWnd* pframe = (CMDIFrameWnd*) AfxGetMainWnd();
CMDIChildWnd* pchild = pframe->MDIGetActive();
CPSheetDoc* doc = (CPSheetDoc*) pchild->GetActiveDocument();
doc->m_Color = m_Color;
// Tell the view to paint with the new selected color.
CView* view = pchild->GetActiveView();
view->Invalidate();
CPropertyPage::OnOK();
}
// The default MFC implementation of OnApply() would call OnOK().
BOOL CColorPage::OnApply()
{
return CPropertyPage::OnApply();
}
必要条件
ヘッダー : afxdlgs.h