CPropertySheet::Create
モードレス プロパティ シートを表示します。
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_CONTEXTHELP | 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