Affichage d'un Bitmap

Résolu
vintrouj Messages postés 14 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 18 novembre 2009 - 21 nov. 2004 à 13:23
vintrouj Messages postés 14 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 18 novembre 2009 - 21 nov. 2004 à 14:36
Bonjour,

je cherche à afficher une image bitmap préalablement chargé dans un objet de type CBitmap. Le code que j'utilise affiche l'image pendant très peu de temps (moins d'1sec), mais je voudrais que l'affichage soit permanent (Il s'agit d'une app SDI)
j'utilise le code suivant:

void CLeafProjectView::ShowBitmap(CBitmap* pOnBitmap)
{

//Création d'un context de périphérique
CDC* pDC;

//Récupère le context de périphérique
pDC = GetDC();

BITMAP bm;
//Récupère le bitamp chargé
pOnBitmap->GetBitmap(&bm);

// crée un device context pour y charger le bitmap
CDC dcMem;
dcMem.CreateCompatibleDC(pDC);

// Sélectionne le Bitmap dans le device context
CBitmap* pOldBitmap =
(CBitmap*)dcMem.SelectObject(m_bmpBitmap);

//Récupère la surface d'affichage disponible
CRect lRect;
GetClientRect(lRect);
lRect.NormalizeRect();

// Copie le bitmap dans la fenêtre et le redimensionne
pDC->StretchBlt(10, 10, (lRect.Width() - 20),
(lRect.Height() - 20), &dcMem, 0, 0,
bm.bmWidth, bm.bmHeight, SRCCOPY);

ReleaseDC(pDC);

}

Si quelqu'un a une idée pour me tirer d'affaire.....

Merci par avance
Julein

4 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 13
21 nov. 2004 à 14:28
Peut importe comment elle s'appelle je pense, le tout est qu'elle soit appelée à chaque fois que la fenêtre recoit le message WM_PAINT
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 13
21 nov. 2004 à 13:50
Il faut mettre ca dans la méthode OnPaint, et donc plutot qu'un CDC, je pense qu'il faut utiliser un CPaintDC
0
vintrouj Messages postés 14 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 18 novembre 2009
21 nov. 2004 à 14:01
Bonjour vecchio56

Merci pour ton aide.
G pas de fonction OnPaint (app SDI). Est ce ke c bon si jle met dans OnDraw?

Julien
0
vintrouj Messages postés 14 Date d'inscription vendredi 19 novembre 2004 Statut Membre Dernière intervention 18 novembre 2009
21 nov. 2004 à 14:36
C bon ça marche

Merci bcp ++
0
Rejoignez-nous