bonjour debutant en MFC, je n'arrive pas a effacer un control de type Cbutton.
J'ai une classe qui herite de Cbutton pour realiser un bouton personnel. Le fond du control doit etre transparent.

Voici mon code:
==============

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
void CLevelButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CDC dc;
CString string;
CBrush white = RGB(255,255,255);
CPen shapePen(PS_SOLID,1,RGB(0,0,0));
CPen *oldPen = 0;
 
dc.Attach(lpDrawItemStruct->hDC);
dc.SetBkMode(TRANSPARENT);
oldPen = dc.SelectObject(&shapePen);
dc.SelectStockObject(NULL_BRUSH);
dc.SelectObject(white);
 
if (lpDrawItemStruct->itemState & ODS_SELECTED)
{
dc.Ellipse(lpDrawItemStruct->rcItem.left, lpDrawItemStruct->rcItem.top, lpDrawItemStruct->rcItem.right - 10, lpDrawItemStruct->rcItem.bottom -10);
}
else
{
dc.Ellipse(lpDrawItemStruct->rcItem.left, lpDrawItemStruct->rcItem.top, lpDrawItemStruct->rcItem.right, lpDrawItemStruct->rcItem.bottom);
}
 
GetWindowText(string);
dc.SetBkMode(TRANSPARENT);
dc.DrawText(string, string.GetLength(), &lpDrawItemStruct->rcItem, DT_CENTER | DT_SINGLELINE | DT_VCENTER);
 
dc.SelectObject(oldPen);
}
 
HBRUSH CLevelButton::CtlColor(CDC *pDC, UINT nCtlColor)
{
return (HBRUSH)GetStockObject(NULL_BRUSH);
}
=========
quand le bouton s'affiche, tout va bien, quand on clique dessus, la zone du bouton n'est pas efface pour dessiner le nouveau motif, dans mon cas l'ellipse.

Ma question comment je peux effacer la zone

Merci de vos reponses