C言語なら俺に聞け(入門篇) Part 46
■ このスレッドは過去ログ倉庫に格納されています
0088デフォルトの名無しさん
2009/03/05(木) 01:28:10ファイルパスを取得したいのですが、拡張子の指定が上手くいきません。
void GetFilePath( ..., char *ext) { // GetFilePath(..., "txt"); として使用しています
OPENFILENAME ofn;
char szFile[MAX_PATH] = "";
char strExt[64];
if (!strcmp(ext, "txt")) {
wsprintf(strExt, "Text file(*.%s)\0.%s\0All files(*.*)\0*.*\0\0", ext, ext);
}
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(OPENFILENAME);
//ofn.lpstrFilter = "Text file(*.txt)\0.txt\0All files(*.*)\0*.*\0\0";
ofn.lpstrFilter = strExt;
ofn.lpstrFile = szFile;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrDefExt = ext;
ofn.Flags = OFN_FILEMUSTEXIST;
GetOpenFileName(&ofn);
上手くいかない点1:
ファイルオープンダイアログでのファイル選択時に Text file(*.txt) しか項目に表示されません。
コメントアウトした方の書き方なら、 All file(*.*) も表示されます。
上手くいかない点2:
Text file(*.txt) のばあいでも、拡張子が .txt のファイルが表示されません。
All file(*.*) なら、全てのファイルが問題なく表示されます。
どこに問題があるのでしょうか?よろしくおねがいします。
■ このスレッドは過去ログ倉庫に格納されています