No.2ベストアンサー
- 回答日時:
★シェル関数『SHBrowseForFolder』を使う
・下にサンプルを載せます。
●実装例
static int CALLBACK FuncCallBackProc( HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM lpData )
{
if ( uMsg == BFFM_INITIALIZED ){
if ( HIWORD(lpData) ){
SendMessage( hWnd, BFFM_SETSELECTION, (WPARAM)TRUE, (LPARAM)lpData );
}
}
UNREFERENCED_PARAMETER( lParam );
return( 0 );
}
extern BOOL FuncSelectFolder( HWND hWnd, LPTSTR lpGetPath, LPCTSTR lpDefPath, LPCTSTR lpTitle )
{
ITEMIDLIST *lpIDlist;
LPMALLOC lpMalloc;
BROWSEINFO bi;
if ( SUCCEEDED(SHGetMalloc(&lpMalloc)) ){
if ( HIWORD(lpDefPath) ){
bi.pidlRoot = NULL;
}
else{
bi.pidlRoot = (LPCITEMIDLIST)lpDefPath;
}
bi.hwndOwner = hWnd;
bi.pszDisplayName = NULL;
bi.lpszTitle = lpTitle;
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = FuncCallBackProc;
bi.lParam = (LPARAM)lpDefPath;
bi.iImage = 0;
if ( (lpIDlist = SHBrowseForFolder(&bi)) != NULL ){
SHGetPathFromIDList( lpIDlist, lpGetPath );
lpMalloc->Free( lpIDlist );
lpMalloc->Release();
return( TRUE );
}
lpMalloc->Release();
}
lstrcpy( lpGetPath, "" );
return( FALSE );
}
最後に:
・『FuncSelectFolder( hWnd, szBuff, (LPCTSTR)(INT64)CSIDL_FAVORITES, TEXT("お気に入り") );』
とすると『お気に入り』フォルダの選択画面になるよ。
・『hWnd』にウインドウ・ハンドルを指定
・『lpGetPath』に選択フォルダ名を取得
・『lpDefPath』に初期フォルダ名を指定
・『lpTitle』にタイトル文字列を指定
・戻り値は選択されれば TRUE、キャンセルならば FALSE を返す。
・以上。おわり。
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
ダイアログでフォルダ名を取得したい。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA フォルダの複数選択ができない
-
【マクロ】ファイル名の日付に...
-
フォルダ選択ダイアログ:ネッ...
-
フォルダの場所を可変にしたい...
-
excel VBA Dirにて検索したフォ...
-
VBA フォルダ名と画像ファイル...
-
Windows10でコマンドプロンプト...
-
pythonでDepixを起動
-
Windows Python初心者です。 im...
-
多量のファイルをフォルダに自...
-
VBA 最新のフォルダ取得
-
フォルダ内のPDFファイル名を変...
-
[VB.net 2003] FileDialogでデ...
-
Perlのプログラムについて
-
Excel VBA で フォルダ名の一部...
-
エクセル VBA Filename:=Left(T...
-
【コマンドプロンプト】名前順...
-
ファイル名と同名のフォルダを...
-
あるフォルダの中にあるファイ...
-
メモ帳での画像タグの挿入
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
ファイル名と同名のフォルダを...
-
デスクトップの画像をhtmlに表...
-
Excelのハイパーリンクについて...
-
VBプロジェクトでのフォルダ構...
-
会社のネットワーク上のファイ...
-
【マクロ】ファイル名の日付に...
-
パス名に2バイト文字(マルチバ...
-
Access VBA で フォルダ権限...
-
カレントフォルダって?
-
VBA フォルダ名に特定の文字を...
-
ExcelVBAでフォルダへのハイパ...
-
C ファイル出力で、フォルダが...
-
excelマクロ 冒頭3文字が一致す...
-
保存先のフォルダ名を指定した...
-
マクロVBAのフォルダ階層別で検...
-
Excelで指定したフォルダに保存...
-
ディレクトリ名変更してコピー...
-
vbsで選択ダイアログを表示した...
おすすめ情報