ggです。
初歩な質問です。
[ファイルを開く]ダイアローグに
ファイル種類:すべてファイル*.*になっています、
*.Txt *.jpgを追加したいのですが、
どこに設定すればいいでしょうか。
よろしくお願いします。
環境 WinXP 。Net2002 MFC使用
自分で解決しました。
OnOpenFileをオーバーライドすることで
無事に解決しました。
あるソフトをみたら、
OnOpenFileをオーバーライドしていないですが、
どういう方法でやっているかわかりません。
よろしくお願いします。
OnOpenDocument()の既存の実装ではドキュメントテンプレート文字列からドキュメント
の拡張子をとってきて表示するからではないでしょうか。
maruさん、ご回答ありがとう。
探した見たら、リソースファイルにあります。
STRINGTABLE PRELOAD DISCARDABLE
BEGIN
IDR_MAINFRAME Rdres\n\nRdres\nEXE(*exe)\n.Exe\nEXE File\nEXE File
END
なぜそこに設定しているか、手動で書いたの?
*.JPG を追加すると、どう書けばいいでしょうか。
IDR_MAINFRAMEにドキュメントテンプレート文字列が設定されているってことはSDI
でプロジェクトを作成作成したようですね。
> なぜそこに設定しているか、手動で書いたの?
プロジェクトを作成した時にダイアログでドキュメントテンプレート文字列を設定した
はずです。でも *.exeとなっているべきところが、*exeとなっているので手動で修正し
てしまったのではないでしょうか。
> *.JPG を追加すると、どう書けばいいでしょうか。
SDIでは複数種類のドキュメントを扱うことはできません。
またMDIでも複数のドキュメント種類(ドキュメントテンプレート)を扱うには既存の
実装では出来ません。適切な関数をオーバーライドする必要があります。
maruさん
ご回答ありがとう。
>IDR_MAINFRAMEにドキュメントテンプレート文字列が設定されているってことはSDI
>でプロジェクトを作成作成したようですね。
やってみたら、その通りです。
>でも *.exeとなっているべきところが、*exeとなっているので手動で修正し
>てしまったのではないでしょうか。
自分で、弄ったのですが、すみませんでした。
>SDIでは複数種類のドキュメントを扱うことはできません。
>・・・適切な関数をオーバーライドする必要があります。
なるほど、わかりました。
丁寧な説明、ありがとうございました。