CPropertySheet::Create
更新 : 2007 年 11 月
モードレス プロパティ シートを表示します。
virtual BOOL Create(
CWnd* pParentWnd = NULL,
DWORD dwStyle = (DWORD)–1,
DWORD dwExStyle = 0
);
パラメータ
pParentWnd
親ウィンドウへのポインタ。NULL を指定すると、親ウィンドウはデスクトップ ウィンドウになります。dwStyle
プロパティ シートのウィンドウ スタイル。指定できるスタイルの一覧は、「ウィンドウ スタイル」を参照してください。dwExStyle
プロパティ シートの拡張ウィンドウ スタイル。指定できるスタイルの一覧は、「拡張ウィンドウ スタイル」を参照してください。
戻り値
プロパティ シートが作成できた場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
Create 関数は、コンストラクタの内部から、またはコンストラクタを呼び出した後に呼び出せます。
dwStyle として –1 が渡されたときに指定される既定のスタイルは、WS_SYSMENU|WS_POPUP|WS_CAPTION|DS_MODALFRAME|DS_CONTEXT_HELP| WS_VISIBLE です。dwExStyle として 0 を渡したときに指定される既定の拡張ウィンドウ スタイルは、WS_EX_DLGMODALFRAME です。
Create メンバ関数は、プロパティ シートを作成後、すぐに呼び出しから復帰します。プロパティ シートを破棄するには、CWnd::DestroyWindow を呼び出します。
モードレス プロパティ シートは、Create を呼び出すと表示されますが、モーダル プロパティ シートで表示されるような、[OK]、[キャンセル]、[現在のものを使用]、[ヘルプ] の各ボタンを持っていません。ボタンが必要なときは、ユーザーが作成する必要があります。
モーダル プロパティ シートを表示するには、DoModal を呼び出します。
使用例
// This code fragment shows how to create a modeless property sheet
// dialog in a command message handler (OnModelessPropertySheet())
// of a CView-derived class.
void CPSheetView::OnModelessPropertySheet()
{
// Declare a CPropertySheet object. m_pdlgPropertySheet is a data
// member of type CPropertySheet in CView-derived class.
m_pdlgPropertySheet = new CPropertySheet(_T("Simple PropertySheet"));
ASSERT(m_pdlgPropertySheet);
// Add three pages to the CPropertySheet object. Both m_pstylePage,
// m_pcolorPage, and m_pshapePage are data members of type
// CPropertyPage-derived classes in CView-derived class.
m_pstylePage = new CStylePage;
m_pcolorPage = new CColorPage;
m_pshapePage = new CShapePage;
m_pdlgPropertySheet->AddPage(m_pstylePage);
m_pdlgPropertySheet->AddPage(m_pcolorPage);
m_pdlgPropertySheet->AddPage(m_pshapePage);
// Create a modeless CPropertySheet dialog.
m_pdlgPropertySheet->Create();
}
// The code fragment below shows how to destroy the C++ objects for
// propertysheet and propertypage in the destructor of CView-derived
// class.
// NOTE: DestroyWindow() is called in CPropertySheet::OnClose() so
// you do not need to call it here. Property pages are children
// of the CPropertySheet, they will be destroyed by their parents.
CPSheetView::~CPSheetView()
{
delete m_pshapePage;
delete m_pstylePage;
delete m_pcolorPage;
delete m_pdlgPropertySheet;
}
必要条件
ヘッダー : afxdlgs.h