CPropertySheet クラス
更新 : 2007 年 11 月
タブ ダイアログ ボックスとしても知られるプロパティ シートを表します。
class CPropertySheet : public CWnd
解説
プロパティ シートは、1 つの CPropertySheet オブジェクトと、1 つ以上の CPropertyPage オブジェクトで構成されます。フレームワークは、一連のタブ インデックスを持ち、現在選択されているページが表示される領域のあるウィンドウとしてプロパティ シートを表示します。ユーザーは、該当するタブを使用して特定のページに移動します。
CPropertySheet クラスには、Windows 98 と Windows NT 2000 で導入された拡張 PROPSHEETHEADER 構造体のサポートが用意されています。この構造体には、"ウォーターマーク" 背景ビットマップの使用をサポートする追加のフラグとメンバが含まれます。
この新しいイメージをプロパティ シート オブジェクトに自動的に表示するには、CPropertySheet::Construct または CPropertySheet::CPropertySheet を呼び出し、ビットマップ イメージとパレット イメージの有効な値を渡します。
CPropertySheet は CDialog から派生されてはいませんが、CPropertySheet オブジェクトの管理は、CDialog オブジェクトの管理と同じように行われます。たとえば、プロパティ シートの作成は、2 段階で行われます。まず、コンストラクタを呼び出します。その後、モーダル プロパティ シートでは DoModal を、モードレス プロパティ シートでは Create を呼び出します。CPropertySheet クラスには、CPropertySheet::Construct と CPropertySheet::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 部
SNAPVW サンプル : フォーム ビュー アプリケーションでのプロパティ ページの使用