ご返答ありがとうございます、理解できました
GetOpenFileName という API を使用するとエクスプローラからファイルを選択するようにできます
GetOpenFileName を使用して LoadGraph で読み込む画像のパスを取得するサンプルを組みましたので、
よろしければご覧ください
#include "DxLib.h"
#include <string.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int GrHandle = 0 ;
char FullPath[ MAX_PATH ], FileName[ MAX_PATH ] ;
// ウインドウモードで起動
ChangeWindowMode( TRUE ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1 ;
OPENFILENAME ofn ;
memset( &ofn, 0, sizeof( OPENFILENAME ) ) ;
memset( FullPath, 0, sizeof( FullPath ) ) ;
memset( FileName, 0, sizeof( FileName ) ) ;
ofn.lStructSize = sizeof( OPENFILENAME ) ;
ofn.hwndOwner = GetMainWindowHandle() ;
// 説明の末尾に \0 を記載して、その後ろに表示するファイルの指定、最後に \0\0 を記述
ofn.lpstrFilter = "Bitmap File or Jpeg File or Png File\0*.bmp;*.jpg;*.png\0\0" ;
// lpstrFile に指定する配列にファイルのフルパスが代入されます
ofn.lpstrFile = FullPath ;
ofn.nMaxFile = sizeof( FullPath ) ;
// lpstrFileTitle に指定する配列にファイル名( フォルダパスが無い )が代入されます
ofn.lpstrFileTitle = FileName ;
ofn.nMaxFileTitle = sizeof( FileName ) ;
ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY ;
ofn.lpstrDefExt = "" ;
// lpstrTitle に表示されるダイアログの説明を代入します
ofn.lpstrTitle = "画像ファイルの読み込み" ;
// パスの指定が成功した場合は GetOpenFileName の戻り値は 0 以外になります
if( GetOpenFileName( &ofn ) != 0 )
{
// ファイル名を取得できたら画像を読み込む
GrHandle = LoadGraph( FullPath ) ;
}
SetDrawScreen( DX_SCREEN_BACK ) ;
while( ProcessMessage() == 0 )
{
ClearDrawScreen() ;
DrawGraph( 0, 0, GrHandle, TRUE ) ;
ScreenFlip() ;
}
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}