Bitmap

cs_zainal Messages postés 10 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 16 février 2009 - 23 oct. 2003 à 22:08
perigv Messages postés 6 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 15 janvier 2004 - 12 janv. 2004 à 21:25
Salut a vous

bon voila, je voudrai afficher une bitmap dans une zone de static et j ai creer ce bout de code qui ne marche pas vous vous en douter !

void CBitmapDlg::AfficherImage(CString Chemin_du_Bitmap)
{
CBitmap hbitmap;
hbitmap.LoadBitmap(Chemin_du_Bitmap);
m_bitmap.SetBitmap(hbitmap);
UpdateData(FALSE);
}

hbitmap est mon control associer au static.

merci de vos reponse et si la fonction est toute a refaire je suis pret et si je me suis carrement tout gourrer je suis pret aussi

matthieu
ps:excuser moi pour les accents mais je suis sur un clavier qwerty :)

1 réponse

perigv Messages postés 6 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 15 janvier 2004
12 janv. 2004 à 21:25
Voila ce que j'ai pu faire :

char strFilter[] = "MyType Files (*.bmp)|*.bmp|All Files (*.*)|*.*||";
HRESULT hResult;
CString Path, FileName;
CBitmap Bitm;
CSize BitmSize;
CDC m_dcMem;

//Crée une boite de dialogue d'ouverture de fichier
CFileDialog OpenDlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST, strFilter);

//Ouvre la boite de dialogue
hResult = (int)OpenDlg.DoModal();

//Récupère le nom du fichier ouvert
Path = OpenDlg.GetPathName();

HBITMAP hBitmap; //Handle sur un bitmap

//Fait pointer le handle sur l'ID de la zone ou tu veux que l'image s'affiche
CWnd * hWndViewer = this->GetDlgItem(ID_IMAGE1);

//Chargement de l'image dans le handle sur le bitmap
hBitmap = (HBITMAP)LoadImage(AfxGetInstanceHandle(), Path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);

//Copies a bitmap from the source device context to this current device context.
hWndViewer->SendMessage(STM_SETIMAGE,(WPARAM) IMAGE_BITMAP,(LPARAM) hBitmap );

//Récupération du nom de fichier
FileName = OpenDlg.GetFileTitle();

//Affichage du nom de la feuille chargée dans le cadre en dessous
SetDlgItemText(IDC_STATIC1, FileName);

Les commentaires sur cette sources sont les bienvenus.
Merci.
0
Rejoignez-nous