VC++6.0でゲームソフトを作成しているのですが、
ゲームの状態を保存させておくテキストファイルを、
どのフォルダに保存させるかを利用者に選ばせようと思っています。
今は利用者に直接、保存フォルダのパスをキーボードから入力させているのですが、
フォルダの参照ダイアログを利用した方が、よいと思っています。
その使い方がわかりません。どうすれば利用できるのでしょうか。
それと、選択したフォルダのフルパスをどうやって、入手するのでしょうか。
SHBrowseForFolderを使うらしいのですが、使い方がよくわかりません。
Win2000 VC6.0SP2 MFC
<対象:VC++ラウンジ>
開発環境を書き忘れてしまいました。
大変申し訳ございませんでした。
わからなかったらとりあえず
Google等で
「SHBrowseForFolder」「使い方」
を検索しましょう。
以下のように記述してみたところ、フォルダの参照ダイアログを利用して、
絶対パスを変数に挿入できました。
ヘッダファイルに、
// コンストラクション
public:
char ssa[MAX_PATH];
と記述し、ソースファイルに、
BROWSEINFO bi;
ITEMIDLIST *idl;
LPMALLOC g_pMalloc;
// IMallocインタフェースの取得
SHGetMalloc(&g_pMalloc);
bi.hwndOwner =NULL;
bi.pidlRoot =NULL; //検索開始点(nullならdesktop)
bi.pszDisplayName =ssa;
bi.lpszTitle =成績ファイルを保存するフォルダを選択してください。;
bi.ulFlags =BIF_RETURNONLYFSDIRS;
bi.lpfn =NULL;
bi.lParam =0;
bi.iImage =0;
//フォルダの参照ダイアログを表示
idl=SHBrowseForFolder(&bi);
if(idl != NULL)
{
SHGetPathFromIDList(idl,ssa);
}
と記述しました。
不良PGさん、助言ありがとうございました。
チェックを忘れました。