CFileDialog(Vistaスタイル有効)でフォルダビューを設定する標準的な方法はありますか?詳細ビューとカスタム列を表示するようにしようとしています。CFileDialog(MFC)のフォルダビューを設定する
私のアプリケーションで作成されたファイルのアプリケーション固有の情報を表示するWindows 7の列ハンドラを実装しました。しかし、エクスプローラウィンドウや一般的なファイルダイアログでこれらのカスタム列を表示するには、手動でフォルダビューをDetailsに設定してから、必要な特定の列を選択する必要があります。
これはうまくいきますが、目的は、ビュースタイルを変更するまで、詳細ビューにこれらの列を自動的に表示することです。
私はこれを行うさまざまな方法を調査し、実行可能な解決策を見つけていません。シェルプロパティバッグは、ビューのスタイルと同様に列の種類と幅を格納しているようですが、その多くはバイナリであり、明らかに文書化されていません。私がバッグのプロパティをコピーすると、私はビューの設定を切り替えることができますが、これは脆いようです。
すべてのポインタやその他のヘルプは非常に高く評価されます。
私はそれをカラムハンドラと呼んでいますが、プロパティシステムのCOMインターフェイスを使って、カスタムカラムとそのカラムに入るデータを表示します。これはVistaと7で正常に動作します(XPでは、以前のIColumnProviderを実装する必要がありますが、これは別の話です)。ありがとう、私はそのアプローチを調査します。 – cue
私はあなたに投票するのに十分な運命があることを望みます。最終結果は、IFileDialog - > IServiceProviderのIFolderView2を使用してビューを詳細モードに変更しました。その後、IServiceProvider - > IShellBrowser - > IShellViewのIColumnManagerを使用して、カスタム列のプロパティストアプロペラキーを使用して列を設定することができました。 ありがとうございました。 – cue