• 締切済み

デフォルトでのファイルオープン場所の指定

VC++.netでMFCを作成したのですが、ファイルを開くと前回開いたファイルのある場所になっているのを、 ファイルを開くときにデフォルトの場所を指定したいのですが、方法がわかりません。 わかる方がおられたらお願いします。

みんなの回答

  • KamoPlat
  • ベストアンサー率46% (23/50)
回答No.4

> CFileDialogのほうですね。 でしたら最初の方法は試してみましたでしょうか? > CArchive& arとなっています。 ん?? 確かにこれはシリアライズするときに使いますが質問と関係あるんでしょうか? CArchiveはバイナリデータを扱うクラスです。 情報は小出しにせずにお願い致します。 要約せずに無関係な情報ばかりでも困りますが、回答を出すのに必要な最低限の情報は出してくださいな。 どこが最低限か分からない場合は、最初の回答でも書きましたが問題のソースくらいは出してください。

すると、全ての回答が全文表示されます。
  • KamoPlat
  • ベストアンサー率46% (23/50)
回答No.3

ではどのようなコードでそのダイアログを呼び出していますか? MFCならCFileDialogを使っていると思いますが。 それとも普通にGetOpenFileName()を使っているのでしょうか。それとも別のやり方ですか?

clannad2004
質問者

補足

CFileDialogのほうですね。 特にオーバーロード等もせずに、読みこんだのは、 CCHelpDOC.cpp(プロジェクト名:CHelp)のシリアライゼーションで、CArchive& arとなっています。

すると、全ての回答が全文表示されます。
  • KamoPlat
  • ベストアンサー率46% (23/50)
回答No.2

1)「メモ帳」などの自分のプログラムでない物の「ファイルを開く」ダイアログの初期ディレクトリを変更 2) 1)を取得 3)「メモ帳」などの外部プログラムがダイアログを出したのを検知してその初期ディレクトリを強制的に変更 4)自分で作ったソフトに「ファイルを開く」ダイアログを作って、その初期ディレクトリを変更 どれがやりたいんでしょうか?

clannad2004
質問者

補足

私がやりたいのは4の自分のプログラムで作成したダイアログの初期ディレクトリーの変更をしたいのです。

すると、全ての回答が全文表示されます。
  • KamoPlat
  • ベストアンサー率46% (23/50)
回答No.1

おそらくこれだと回答が得られないんじゃないかと……。 MFCを作ったんですか?.NETで? おそらくMFCを使ったプログラムを.NETのコンパイラで作ったんですよね? で、肝心の知りたそうなことですが、開発環境でファイルを開くときのダイアログの話をしているのか、それとも自分で作ったプログラムにダイアログを表示させていて、そこでの話なのかが分かりません。 まぁこのカテゴリなら後者でしょうが。 でもこれだけでもまだ不足です。 どうやって表示させていますか? 分からなければその部分のソースを付けるだけでも違いますよ。 ちなみに、OPENFILENAME構造体lpstrInitialDirかな。CFileDialogなら、m_ofnがその構造体ですよ。でも……自信がないですねぇ

clannad2004
質問者

補足

ご指摘ありがとうございます。 確かに説明が不十分すぎましたね。 たとえば、メモ帳で開くでファイルをオープンした時は、前回ファイルを開いたファイルのあるフォルダのところになると思いますが、この状態からファイルを開いたときの初期フォルダをCドライブのカレントフォルダに設定したいのですがレジストリに書き込んでいるのか仕方がわかりません。 MFC自体は特に変更はしておりません。

すると、全ての回答が全文表示されます。

関連するQ&A