次の方法で共有


CPropertySheet クラス

更新 : 2007 年 11 月

タブ ダイアログ ボックスとしても知られるプロパティ シートを表します。

class CPropertySheet : public CWnd

解説

プロパティ シートは、1 つの CPropertySheet オブジェクトと、1 つ以上の CPropertyPage オブジェクトで構成されます。フレームワークは、一連のタブ インデックスを持ち、現在選択されているページが表示される領域のあるウィンドウとしてプロパティ シートを表示します。ユーザーは、該当するタブを使用して特定のページに移動します。

CPropertySheet クラスには、Windows 98 と Windows NT 2000 で導入された拡張 PROPSHEETHEADER 構造体のサポートが用意されています。この構造体には、"ウォーターマーク" 背景ビットマップの使用をサポートする追加のフラグとメンバが含まれます。

この新しいイメージをプロパティ シート オブジェクトに自動的に表示するには、CPropertySheet::Construct または CPropertySheet::CPropertySheet を呼び出し、ビットマップ イメージとパレット イメージの有効な値を渡します。

CPropertySheetCDialog から派生されてはいませんが、CPropertySheet オブジェクトの管理は、CDialog オブジェクトの管理と同じように行われます。たとえば、プロパティ シートの作成は、2 段階で行われます。まず、コンストラクタを呼び出します。その後、モーダル プロパティ シートでは DoModal を、モードレス プロパティ シートでは Create を呼び出します。CPropertySheet クラスには、CPropertySheet::ConstructCPropertySheet::CPropertySheet の 2 つのコンストラクタがあります。

CPropertySheet オブジェクトを構築するときに、一部の ウィンドウ スタイル によって初回例外が発生する可能性があります。これは、まだ作成されていないプロパティ シートのスタイルをシステムが変更しようとするために起こります。この例外を回避するには、独自の CPropertySheet を作成するときに次のスタイルを設定してください。

  • DS_3DLOOK

  • DS_CONTROL

  • WS_CHILD

  • WS_TABSTOP

次のオプションのスタイルも、初回例外を引き起こすことなく使用できます。

  • DS_SHELLFONT

  • DS_LOCALEDIT

  • WS_CLIPCHILDREN

これ以外の Window Styles は禁止されているので、有効にしないでください。

CPropertySheet オブジェクトと外部オブジェクトの間でのデータの交換は、CDialog オブジェクトとのデータ交換に似ています。大きな違いは、プロパティ シートの設定は、通常、CPropertySheet オブジェクト自身のメンバ変数ではなく、CPropertyPage オブジェクトのメンバ変数になっているという点です。

ウィザードと呼ばれる型のタブ ダイアログ ボックスを作成できます。このダイアログ ボックスは、デバイスのセットアップやニュースレターの作成のような、操作の手順をユーザーに示す一連のプロパティ ページを持つプロパティ シートで構成されています。ウィザード型のタブ ダイアログ ボックスでは、プロパティ ページにタブがなく、一度に 1 つのプロパティ ページだけが表示されます。また、ウィザード型のタブ ダイアログ ボックスは、[OK] ボタンや [今すぐ適用] ボタンの代わりに、[戻る]、[次へ]、[完了]、[キャンセル]、および [ヘルプ] の各ボタンを持ちます。

ウィザード型ダイアログ ボックスを作成する手順は、標準のプロパティ シートの作成手順と同じですが、DoModal を呼び出す前に、SetWizardMode を呼び出します。ウィザード ボタンを有効にするには、その機能や外観をカスタマイズするためのフラグを使って SetWizardButtons を呼び出します。[完了] ボタンを有効にするには、ウィザードの最後のページでユーザーが操作を行った後に SetFinishText を呼び出します。

CPropertySheet オブジェクトの使い方の詳細については、「プロパティ シートとプロパティ ページ」を参照してください。また、サポート技術情報の「HOWTO: Create a Modeless CPropertySheet with Standard Buttons (Q146916)」および「HOWTO: Design a Resizable MFC Property Sheet (Q300606)」も参照してください。

必要条件

ヘッダー : afxdlgs.h

スマート デバイス開発者のためのメモ

Smartphone プロジェクトではサポートされません。

参照

処理手順

CMNCTRL1 サンプル : MFC のコモン コントロール クラス : 第 1 部

CMNCTRL2 サンプル : MFC のコモン コントロール クラス : 第 2 部

PROPDLG サンプル : プロパティ シート サポート

SNAPVW サンプル : フォーム ビュー アプリケーションでのプロパティ ページの使用

参照

CWnd クラス

階層図

その他の技術情報

CPropertySheet のメンバ