1

私の WinAPI プログラムでは、設定ダイアログ ボックスに PropertySheet を使用しています。ページ (タブ) でプロパティ シートを使用します。つまり、PSH_PROPSHEETPAGE フラグを使用します。しかし、このようなタイプのプロパティ シートには、ソフトウェアのパラメータが多すぎます。だから私はツリービューでPropertySheetを使用したい:左側のツリービューとツリービューで現在選択されている項目のパラメータを持つページ - 右側。これどうやってするの?このために現在のプロパティ シートを変更できますか?またその方法は? (WinAPI のみを使用し、MFC は使用しません)

4

1 に答える 1

0

標準のプロパティシートではもはや十分ではないため、ここでは基本的に2つの選択肢があります。ウィンドウ(モーダルまたはモードレス、ダイアログベースかどうか)を設計して、すべてのコントロールを単一のビューでホストできます。ツリービュー、場合によってはタブコントロールもあり、ツリービューの選択に従う要素を表示/非表示にします。そして、すべてのコントロールをこのウィンドウに移動します。

または、代わりに、プロパティページをホストする同様のウィンドウを作成できます。ツリー選択の変更時に、標準のプロパティシートのタブで選択されているかのようにプロパティページを切り替えます。重要なのは、既存のページをそのまま使用して、この新しい設定ウィンドウを標準のプロパティシートの動作を模倣できるようにすることです。これはおそらくもっと複雑なことですが、一度実行してさまざまなページを受け入れるのに十分な柔軟性が必要です。また、既存のページコードに触れる必要がないため、標準シートとツリー付きのこのカスタムシートの両方に適しています。

どちらの方法でも、標準のコードであるプロパティシートウィンドウの使用をあきらめているため、かなりの作業を行う必要があると想定しています。

于 2012-10-14T14:30:57.473 に答える