2011-01-20 80 views
3

オープンファイルダイアログを表示するのに私はCFileDialogを使用しています。私は、ダイアログボックスをDoModalたび「ワークシートファイル」であることをデフォルトのファイルの種類を設定する必要がCFileDialogの既定のファイル形式を設定するにはどうすればよいですか?

static TCHAR BASED_CODE szFilter[] = _T("Chart Files (*.xlc)|*.xlc|") 
            _T("Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|") 
            _T("*.xlc; *.xls|All Files (*.*)|*.*||"); 

次のように私は、フィルタを設定しています。私はそれを行う方法を把握することができません。 MS Paintは、開いているファイルダイアログを開くと「すべての画像ファイル」を選択します。

どうすればいいか教えてください。

+3

答えを得ました。OPENFILENAMEのnFilterIndexを使用して、デフォルトの選択したファイルタイプを設定できます。 – Pankaj

答えて

0

あなたはSetDefExt functionを探しています。これにより、ファイルの保存/保存ダイアログボックスのデフォルトのファイル拡張子を指定することができます。指定する文字列は、でなく、にピリオド(。)を含める必要があります。

もちろん、constructorでこれを指定することもできます。 2番目のパラメータはデフォルトの拡張子(lpszDefExt)です。

+7

MFCダイアログにはロジックが幾分ねじれていますが、デフォルトの拡張子を変更してもそれに応じてデフォルトのフィルタは選択されません。代わりにnFilterIndexを使用してください。 –

関連する問題