Ouvrir une image

Résolu
doudouhic Messages postés 7 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 26 février 2007 - 4 févr. 2006 à 18:50
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 5 févr. 2006 à 11:06
Bonjour,


J'essaye de charger une image à partir du disque dure en utilisant les MFC.


j'utilise le code suivant:


OPENFILENAME ofn; // common dialog box structure
char szFile[260]="";
HWND hwnd=NULL;
HANDLE hf; // file handle


// Initialize OPENFILENAME
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "BMP\0*.bmp\0JPG\0*.jpg\0";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;


if (GetOpenFileName(&ofn)==TRUE)
hf = CreateFile(ofn.lpstrFile, GENERIC_READ,0, (LPSECURITY_ATTRIBUTES) NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,(HANDLE) NULL);
UpdateData(TRUE);
ima.LoadBitmap(ofn.lpstrFile);
CStatic *CS = reinterpret_cast<CStatic *>(GetDlgItem(IDC_Image));
CS->SetBitmap(HBITMAP(ima));

seulement l'image ne s'affiche pas. elle s'affiche seulement si j'utilise une image à partie des ressources. quelqu'un peut m'aider????

5 réponses

BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 20
4 févr. 2006 à 21:27
LoadBitmap() est fait pour charger depuis une ressource, pas depuis un fichier.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 20
4 févr. 2006 à 19:03
Le retour de GetOpenFileName() est NON ZERO si réussit mais pas forcément TRUE (1).

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
doudouhic Messages postés 7 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 26 février 2007
4 févr. 2006 à 20:55
le probléme n'est pas la, si j'utilise
ima.LoadBitmap(IDC_BITMAP1.BMP); ça marche, mais

ima.LoadBitmap(ofn.lpstrFile); ça marche pas alors que je suis sure que le fichier est ouvert et le contenue de

ofn.lpstrFile est le fichier que j'essaye d'ouvrir.
J'attend votre aide.
0
doudouhic Messages postés 7 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 26 février 2007
5 févr. 2006 à 11:00
Bon, je te remercie pour ton aide, ce n'etait pas mentionner dans MSDN.
est ce que tu peux m'indiquer comment on fait pour charger d'un fichier??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 20
5 févr. 2006 à 11:06
exemple ici:
SELECTEUR IMAGE + APERCU (WIN32)
http://www.cppfrance.com/code.aspx?id=10644

ce n'est pas MFC, il te faudra adapter.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0