ファイルを開くときに CFileDialog を使用して、ユーザーがクリックするなどして、ダイアログ リスト領域に表示されているファイルのみを選択できるようにする必要があります。ユーザーがファイル名コントロールに名前を入力できないようにします。OPENFILENAME (OFN) 構造体にはいくつかの異なるフラグ ( http://msdn.microsoft.com/en-US/library/ms646839%28v=vs.80%29.aspx ) がありますが、ユーザーがファイル名を入力できないようにします。
私が見た最も近いものは OFN_FILEMUSTEXIST でしたが、それはファイルが存在することを示しているだけです。ユーザーは引き続き名前を入力できます。
新しいクラスを継承せずにこれを行う方法はありますか?
より詳しい情報
不適切なファイルを開く可能性があるため、ファイル名を入力できないようにする必要があります。lpszFilter
パラメータを使用してファイル名をフィルタリングし、ファイル名に ABC が含まれる (拡張子ではなく) ファイルのみが表示されるようにします。したがって、ファイル名を入力すると、myCoolFileDEF.ext
. ファイルが存在する場合は、ファイル名にABCが含まれるファイルのみを開くことになっていましたが、先に進んでそれを開くことができます (ダイアログはエラー メッセージなしで閉じます) 。