Bonjour,

j'utilise la librairie graphique GDI+
dans ma classe dérivée de CView, ma fonction OnDraw est comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
void CMaVue::OnDraw(CDC* pDC) {
	CDocument* pDoc = GetDocument();
 
// TODO: add draw code here
Gdiplus::Graphics graphics(pDC->m_hDC);
 
Pen pen1(Color(255, 0, 0), 20);
graphics.SetSmoothingMode(SmoothingModeAntiAlias);
graphics.DrawLine(&pen1, 160, 0, 170, 800);
 
CView::OnDraw(pDC);
 
}
Rien que de très classique.
Cependant, je voudrais pouvoir dessiner depuis d'autres fonctions, donc rendre la variable graphics globale dans la classe (désolé si ce n'est pas le terme exact )

j'ai essayé un truc du genre

Gdiplus::Graphics* graphics;
dans CMaVue.h

puis graphics=new Gdiplus::Graphics(pDC->m_hDC);
dans CMaVue.cpp

mais ça plante.

Comment faire ça proprement ?
Merci d'avance de votre aide
Philippe