エクスプローラーでファイルを読み込むには?

解決


ひか  2003-12-11 09:56:27  No: 52832  IP: [192.*.*.*]

Windowsのデータ読み込み画面を使ってファイルを読み込もうとしているのですがどうしてもjpg画像が選択できません。何処が悪いのかご教授お願いします。
環境はC++6.0で製作しています。

#define DEF_FILE "test.jpg"

(以下はWinMain)
char filename[_MAX_PATH + 1 ];
OPENFILENAME ofn;

strcpy( filename, DEF_FILE );
memset( &ofn, 0, sizeof( ofn ));
ofn.lStructSize = sizeof( ofn );
ofn.lpstrFilter = "イメージ(*.jpg)\0すべてのファイル(*.*)\0*.*\0\0";
ofn.lpstrFile = filename;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFile = MAX_PATH;
ofn.Flags = OFN_HIDEREADONLY;
ofn.lpstrDefExt = "jpg";
ofn.lpstrTitle = "データファイル読み込み";
if( !GetOpenFileName( &ofn ))
{
  //キャンセルされた
  PostQuitMessage( );
}

編集 削除
瀬戸っぷ  2003-12-11 10:13:26  No: 52833  IP: [192.*.*.*]

> ofn.lpstrFilter = "イメージ(*.jpg)\0すべてのファイル(*.*)\0*.*\0\0";

ofn.lpstrFilter = "イメージ(*.jpg)\0*.jpg\0すべてのファイル(*.*)\0*.*\0\0";
では?

編集 削除
ひか  2003-12-11 12:22:22  No: 52834  IP: [192.*.*.*]

瀬戸っぷさん>
助言ありがとうございます。
早速直してみて、問題なく動作しました。
どうもありがとうございます^^

編集 削除
瀬戸っぷ  2003-12-11 14:41:50  No: 52835  IP: [192.*.*.*]

動作したようでなによりです。

ところで、この場合のタイトルは…
「ファイルダイアログでファイル名を取得するには」
とか
「GetOpenFileName()でファイル名を取得するには」
とかの方が一覧で見ている人に訴えやすいかと。

# タイトルの付け方で閲覧率が変わる可能性はありますから。

編集 削除