アプリケーションでプロパティ シートを使用するには、次の手順を実行します。
各プロパティ ページのダイアログ テンプレート リソースを作成します。 ユーザーが 1 つのページから別のページに切り替える可能性があることに注意してください。そのため、各ページをできるだけ一貫してレイアウトします。
すべてのページのダイアログ テンプレートが同じサイズである必要はありません。 フレームワークでは、最大ページのサイズを使用して、プロパティ ページのプロパティ シートに割り当てる領域の量を決定します。
プロパティ ページのダイアログ テンプレート リソースを作成するときは、[ダイアログ プロパティ] プロパティ シートで次のスタイルを指定する必要があります。
[全般] ページの [キャプション] 編集ボックスを、このページのタブに表示するテキストに設定します。
[ スタイル ] ページの [ スタイル ] リスト ボックスを [ 子] に設定します。
[スタイル] ページの [罫線] リスト ボックスを [薄い] に設定します。
[スタイル] ページの [タイトル バー] チェック ボックスがオンになっていることを確認します。
[その他のスタイル] ページの [無効] チェック ボックスがオンになっていることを確認します。
各プロパティ ページ ダイアログ テンプレートに対応する CPropertyPage 派生クラスを作成します。 「クラスの追加」を参照してください。 基底クラスとして
CPropertyPageを選択します。このプロパティ ページの値を保持するメンバー変数を作成します。 プロパティ ページは特殊なダイアログ ボックスであるため、プロパティ ページにメンバー変数を追加するプロセスは、ダイアログ ボックスへのメンバー変数の追加とまったく同じです。 詳細については、「 ダイアログ コントロールのメンバー変数の定義」を参照してください。
ソース コードで CPropertySheet オブジェクトを作成します。 通常、プロパティ シートを表示するコマンドのハンドラーで
CPropertySheetオブジェクトを作成します。 このオブジェクトは、プロパティ シート全体を表します。 DoModal 関数を使用してモーダル プロパティ シートを作成する場合、フレームワークには既定で 3 つのコマンド ボタン (OK、Cancel、Apply) が用意されています。 フレームワークでは、Create 関数で作成されたモードレス プロパティ シートのコマンド ボタンは 作成 されません。 他のコントロール (プレビュー ウィンドウなど) を追加したり、モードレス プロパティ シートを表示したりする場合を除き、CPropertySheetからクラスを派生させる必要はありません。 この手順は、プロパティ シートを閉じるのに使用できる既定のコントロールが含まれていないため、モードレス プロパティ シートに必要です。プロパティ シートに追加するページごとに、次の操作を行います。
このプロセスで前に作成した
CPropertyPage派生クラスごとに 1 つのオブジェクトを構築します。各ページ の CPropertySheet::AddPage を呼び出します。
通常、
CPropertySheetを作成するオブジェクトは、この手順でCPropertyPageオブジェクトも作成します。 ただし、CPropertySheet派生クラスを実装する場合は、CPropertyPageオブジェクトにCPropertySheetオブジェクトを埋め込み、AddPage派生クラス コンストラクターから各ページのCPropertySheetを呼び出すことができます。AddPageは、プロパティ シートのページの一覧にCPropertyPageオブジェクトを追加しますが、実際にはそのページのウィンドウを作成しません。 したがって、AddPageを呼び出すためにプロパティ シート ウィンドウの作成まで待機する必要はありません。プロパティ シートのコンストラクターからAddPageを呼び出すことができます。既定では、プロパティ シートにプロパティ シートの 1 行に収まるタブよりも多くのタブがある場合、タブは複数の行に積み重ねられます。 スタックを無効にするには、パラメーターを FALSE に設定して CPropertySheet::EnableStackedTabs を呼び出します。 プロパティ シートを作成するときは、
EnableStackedTabsを呼び出す必要があります。CPropertySheet::D oModal または Create を呼び出して、プロパティ シートを表示します。 プロパティ シートをモーダル ダイアログ ボックスとして作成するには、
DoModalを呼び出します。 Create を呼び出して、プロパティ シートをモードレス ダイアログ ボックスとして作成します。プロパティ ページとプロパティ シートの所有者の間でデータを交換します。 これは、データの交換に関 する記事で説明されています。
プロパティ シートの使用方法の例については、MFC General サンプル PROPDLG を参照してください。
こちらも参照ください
プロパティ シート を する