Bonsoir a tous.
Mon probleme est simple: j'ai cree une dialogbox d'ouverture de fichier afin d'ouvrir un bitmap indique par l'utilisateur. Hors, bien que le chemin d'acces soit retourne dans son integralite, l'image ne peut etre ouverte.
Le code est le suivant:
case IDC_NEW_RECIPE_PICTURE:
{
static char szFileName[MAX_PATH];
HBITMAP hBmp;
HWND hBtn;
if (FileOpenDlg (hDlg, szFileName))
{
MessageBox( NULL, szFileName, "Error", MB_OK | MB_ICONINFORMATION );
hBmp = (HBITMAP)LoadImage(hInst,szFileName,IMAGE_BITMAP,0,0,LR_DEFAULTSIZE);
if (hBmp == NULL)
{
LPVOID lpMsgBuf;
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0,
NULL
);
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
LocalFree( lpMsgBuf );
}
hBtn = GetDlgItem(hDlg,IDC_NEW_RECIPE_PICTURE);
SendMessage(hBtn,BM_SETIMAGE,IMAGE_BITMAP,(LPARAM)hBmp);
}
}
ou la fonction FileOpenDlg est:
bool FileOpenDlg (HWND hWnd, char* szFileName)
{
openFileName.hwndOwner = hWnd ;
openFileName.lpstrFilter = szFilter[0] ;
openFileName.lpstrFile = szFileName ;
openFileName.nMaxFile = MAX_PATH ;
openFileName.Flags = OFN_CREATEPROMPT ;
openFileName.lpstrDefExt = TEXT ("bmp") ;
return GetOpenFileName (&openFileName) ;
}
Pouvez vous m'expliquer pourquoi cela ne fonctionne pas???
Vous pouvez constater que j'ai deja piste l'erreur grace a la fonction GetLastError(), laquelle me retourne ce message:
"Le nom de ressource spéficié ne peut être trouvé dans le fichier image."
Malheureusement je ne comprend ce que ca veut dire...
Merci de votre aide.