ファイル種類の指定 – プログラミング – Home

通知
すべてクリア

[解決済] ファイル種類の指定


gg
 gg
(@gg)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

ggです。
初歩な質問です。

[ファイルを開く]ダイアローグに
ファイル種類:すべてファイル*.*になっています、
*.Txt *.jpgを追加したいのですが、

どこに設定すればいいでしょうか。

よろしくお願いします。

環境 WinXP 。Net2002 MFC使用


引用未解決
トピックタグ
gg
 gg
(@gg)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

自分で解決しました。
OnOpenFileをオーバーライドすることで
無事に解決しました。
あるソフトをみたら、
OnOpenFileをオーバーライドしていないですが、
どういう方法でやっているかわかりません。

よろしくお願いします。


返信引用
maru
 maru
(@maru)
ゲスト
結合: 17年前
投稿: 358
 

OnOpenDocument()の既存の実装ではドキュメントテンプレート文字列からドキュメント
の拡張子をとってきて表示するからではないでしょうか。


返信引用
gg
 gg
(@gg)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

maruさん、ご回答ありがとう。

探した見たら、リソースファイルにあります。

STRINGTABLE PRELOAD DISCARDABLE
BEGIN
IDR_MAINFRAME Rdres\n\nRdres\nEXE(*exe)\n.Exe\nEXE File\nEXE File
END

なぜそこに設定しているか、手動で書いたの?
*.JPG を追加すると、どう書けばいいでしょうか。


返信引用
maru
 maru
(@maru)
ゲスト
結合: 17年前
投稿: 358
 

IDR_MAINFRAMEにドキュメントテンプレート文字列が設定されているってことはSDI
でプロジェクトを作成作成したようですね。

> なぜそこに設定しているか、手動で書いたの?
プロジェクトを作成した時にダイアログでドキュメントテンプレート文字列を設定した
はずです。でも *.exeとなっているべきところが、*exeとなっているので手動で修正し
てしまったのではないでしょうか。

> *.JPG を追加すると、どう書けばいいでしょうか。
SDIでは複数種類のドキュメントを扱うことはできません。
またMDIでも複数のドキュメント種類(ドキュメントテンプレート)を扱うには既存の
実装では出来ません。適切な関数をオーバーライドする必要があります。


返信引用
gg
 gg
(@gg)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

maruさん
ご回答ありがとう。

>IDR_MAINFRAMEにドキュメントテンプレート文字列が設定されているってことはSDI
>でプロジェクトを作成作成したようですね。
やってみたら、その通りです。

>でも *.exeとなっているべきところが、*exeとなっているので手動で修正し
>てしまったのではないでしょうか。
自分で、弄ったのですが、すみませんでした。

>SDIでは複数種類のドキュメントを扱うことはできません。
>・・・適切な関数をオーバーライドする必要があります。
なるほど、わかりました。

丁寧な説明、ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました