重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

A 回答 (4件)

> CFileDialogのほうですね。


でしたら最初の方法は試してみましたでしょうか?

> CArchive& arとなっています。
ん??
確かにこれはシリアライズするときに使いますが質問と関係あるんでしょうか?
CArchiveはバイナリデータを扱うクラスです。

情報は小出しにせずにお願い致します。
要約せずに無関係な情報ばかりでも困りますが、回答を出すのに必要な最低限の情報は出してくださいな。
どこが最低限か分からない場合は、最初の回答でも書きましたが問題のソースくらいは出してください。
    • good
    • 0

ではどのようなコードでそのダイアログを呼び出していますか?


MFCならCFileDialogを使っていると思いますが。
それとも普通にGetOpenFileName()を使っているのでしょうか。それとも別のやり方ですか?

この回答への補足

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

補足日時:2004/12/13 18:28
    • good
    • 0

1)「メモ帳」などの自分のプログラムでない物の「ファイルを開く」ダイアログの初期ディレクトリを変更


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

どれがやりたいんでしょうか?

この回答への補足

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

補足日時:2004/12/12 17:07
    • good
    • 0

おそらくこれだと回答が得られないんじゃないかと……。


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

この回答への補足

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

補足日時:2004/12/11 22:49
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!