ファイル選択ダイアログのファイルの種類について質問です。
フィルタをかける際には、OPENFILENAME構造体の
lpstrFilterメンバに文字列を設定しますよね?
-----------------------------------------------
ofn.lpstrFilter = データファイル(*.dat)\0*.dat\0\
パラメタファイル(*.prm)\0*.dat\0\
設定ファイル(*.set)\0*.dat\0\
全てのファイル(*.*)\0*.*\0\0;
-----------------------------------------------
ここでダイアログを開いた際に[ファイルの種類]が
指定の項目を選択した状態にしたいのですが、
当然何もしていないので毎回[データファイル]になってしまいます。
lpstrFileメンバを*.prmとした場合、確かにフィルタリングは
されているのですが「ファイルの種類」のドロップダウンリストは
[データファイル]のままになってしまい変です。
Excelとかはきちんと選択されているのですが、
これって、オーナードローとやらを使わないと出来ないのでしょうか?
Excelの[ファイルを開く]ダイアログは開くボタンにフロッピーの
アイコンが表示されてたりしますし・・・。
通常の方法だと無理なんでょうか?宜しくお願い致します。
環境はVC6+Win2KSP3です。
> ofn.lpstrFilter = データファイル(*.dat)\0*.dat\0\
> パラメタファイル(*.prm)\0*.dat\0\
> 設定ファイル(*.set)\0*.dat\0\
> 全てのファイル(*.*)\0*.*\0\0;
ofn.lpstrFilter = データファイル(*.dat)\0*.dat\0\
パラメタファイル(*.prm)\0*.prm\0\
設定ファイル(*.set)\0*.set\0\
全てのファイル(*.*)\0*.*\0\0;
ですね。それはともかく……。
> lpstrFileメンバを*.prmとした場合、確かにフィルタリングは
> されているのですが「ファイルの種類」のドロップダウンリストは
> [データファイル]のままになってしまい変です。
*.prmならばofn.nFilterIndexに2を設定しておく,
というような策ではだめですか?
OPENFILENAME 構造体に、ちゃんと、初期状態で選択されているべきフィルタを指定する
メンバが用意されていますよ。
#あちゃ、先を越された
>ofn.nFilterIndexに2を設定しておく
^^^^^^^^^^^^
思いっきり、見逃してましたorz。
かなり自己嫌悪です。
YuOさん、シャノンさんありがとうございました。