问个简单的gdi绘图的有关问题

问个简单的gdi绘图的问题
想实现对话框MFC 用gdi+给按钮加载个png的图,旁边是一个矩形框,在onpaint中的else语句下这么写的:
Graphics graphics(m_button1.GetWindowDC()->m_hDC);  //给按钮添加png
Image image(L"GreenLed.png", TRUE);
     graphics.DrawImage(&image,10,10,60,60);

CPaintDC dc(this); // 用于绘制的设备上下文
using namespace Gdiplus;
Graphics graphics2( dc.m_hDC );
Pen newPen( Color( 255, 0, 0 ), 3 );
HatchBrush newBrush( HatchStyleCross,
Color(255, 0, 255, 0),
Color(255, 0, 0, 255)); 
graphics2.DrawRectangle( &newPen, 50, 50, 100, 60); 
graphics2.FillRectangle( &newBrush, 50, 50, 100, 60); //画一个矩形框


CDialog::OnPaint();
 运行后矩形框绘制出来了,但是按钮添加不了png图,如果拖动、切换改变下窗口,png图就添加上了。是不是因为窗口重绘调用ondraw函数给覆盖掉了?怎么画图能够使png图一直显示在按钮上呢?
------解决方案--------------------
引用:
引用:引用:
你继承CButton,在CButton的OnPaint中绘制。

还有,既然你的对话框都自己绘制了,还要CDialog::OnPaint();做什么
继承了button类后,将button的变量设为cbutton类,加载png图的确不随着窗口的切换、最大化最小化变化,但……

你可以先试着 用CButtonST(在codeproject下载),或者直接看源代码