Bonjour,
je veux ajouter une image a ma fenêtre de type dialogue, j'ai ajouter l'image a mes ressource, le problème c'est que lorsque je met le code de l'affichage de l'image dans la fonction OnPaint ça marche mais si je le met dans une classe et j'appelle la méthode dans la fonction OnPaint ça ne marche pas voila le code
qui marche dans la fonction OnPaint
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CPaintDC dc(this); CBitmap BmpLady; CDC MemDCLady; BmpLady.LoadBitmap(IDB_PAC); MemDCLady.CreateCompatibleDC(&dc); CBitmap *BmpPrevious = MemDCLady.SelectObject(&BmpLady); dc.BitBlt(20, 10, 20, 20, &MemDCLady, 0, 0, SRCCOPY); dc.SelectObject(BmpPrevious);
et voila la fonction de ma classe
et voila le constructeur de ma classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 void Creatures::draw(CDialogEx *dlg){ CPaintDC dc(dlg); CDC bmDC; bmDC.CreateCompatibleDC(&dc); CBitmap *p = bmDC.SelectObject(bitmap); dc.BitBlt(left, top, right, bottom, &bmDC, 0, 0, SRCCOPY); dc.SelectObject(p); }
merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Creatures::Creatures(unsigned int id,int x, int y,CDialogEx *dlg) { this->x = x; this->y = y; TopLeft() = CPoint(y * 40, x * 40); BottomRight() = TopLeft() + CPoint(40, 40); this->id = id; lastX = 0; lastY = 0; etat = false; brush = new CBrush(RGB(0, 255, 0)); oldBrush = new CBrush(RGB(255, 255, 255)); paint = new CPaintDC(dlg); bitmap = new CBitmap(); if (bitmap->LoadBitmap(id)); else AfxMessageBox(_T("ou est le bitmap")); }
Partager