tigerskin
Messages postés39Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention24 juillet 2012 9 févr. 2006 à 13:59
Le problème c'est que l'image ne sera pas fixe donc je ne peux pas utiliser de resource...
L'image sera un fichier JPEG qui changera selon les autres fichiers que je chargerai dans la boite de dialogue, parce qu'avec une seule image en statique c'est simple
cs_izou
Messages postés29Date d'inscriptionsamedi 16 avril 2005StatutMembreDernière intervention14 avril 2008 9 févr. 2006 à 19:18
Salut
j'ai une methode mais pour afficher une Bitmap a partir du fichier peut etre tu peu la faire pour une base de donées
je vais te donne un example et je croit qu'il va être utils
cree une variable mombre ici m_bm de type CBitmap
et une variable m_chemin de type CString
et met un bouton dans la dialog qui va nous permetre de selectionné le fichier
et attache cette procedure a l'événement ON_CLICK
void CBitmapDlg::OnBmpOpen()
{
// TODO: Add your command handler code here
//Sélectionne le bitmap dans un DC compatible
CBitmap * lOldBitmap = (CBitmap*) mdc.SelectObject(m_Bm);
// Calcule des coordonées
CRect lRect;
GetClientRect(lRect);
lRect.NormalizeRect();
//Copie le bitmap dans la fenêtre et le redimensionne
pdc->SetStretchBltMode(COLORONCOLOR); //Pour avoir une meilleur qualite
pdc->StretchBlt(10,10,lRect.Width()-20,lRect.Height()-20,&mdc,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
}
puis dans la fonction OnPaint tu fait appelle a la fonction AfficheBmp
void CBitmapDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
if(m_Chemin!="")
{
CPaintDC dc(this);
AfficheBmp(&dc);
};
CDialog::OnPaint();
}
}