在对话框中的静态文本框中画图却什么都不显示解决思路

在对话框中的静态文本框中画图却什么都不显示
我想在CEightDlg对话框中设定的ID为IDC_STATIC_PAINT的静态文本框中显示我画的直线,但是不想在onpaint函数中实现,想在通过单击按钮后实现,可是按照我的写法什么都没有,我的代码如下:
C/C++ code

void CEightDlg::OnBTNDisFitlog() 
{
    // TODO: Add your control notification handler code here
    
    CWnd* pWnd=GetDlgItem(IDC_STATIC_PAINT);        //这儿得到的是对话框中静态文本的指针
    CPaintDC dcpaint(pWnd);

    CPen pen(PS_SOLID,5,RGB(0,0,0));                //选择黑色画笔
    dcpaint.SelectObject(&pen);

    CRect  rect;
    pWnd->GetClientRect(&rect);
    
    dcpaint.SetMapMode (MM_LOMETRIC);   //X轴向右为正,Y轴向上为正,逻辑坐标单位是0.1mm
    CPoint Point_Origion(rect.Width()/2,rect.Height());
    dcpaint.SetViewportOrg (Point_Origion);

    CBrush *pBrush=new CBrush(RGB(0,0,0));          //选择黑色画刷进行填充
    dcpaint.SelectObject(pBrush);

    //dcpaint.Ellipse(5000*2/25,4000/10,2000*2/25,2000/10);
    //dcpaint.MoveTo(-5000*2/25,4000/10);
    //dcpaint.LineTo (-2000*2/25,2000/10);
    dcpaint.MoveTo(0,0);
    dcpaint.LineTo (-300,200);

    /*
    for(int i=0;i<Possiclass_num;i++)
    {
       dcpaint.Ellipse((int)((center_x[i]-diameter[i])*1000*2/25),(int)((center_y[i]+diameter[i])*1000/10),(int)((center_x[i]+diameter[i])*1000*2/25),(int)((center_y[i]-diameter[i])*1000/10) );
                      
    }
*/
   ReleaseDC(&dcpaint);
}




------解决方案--------------------
你所画的被onpaint覆盖。
为什么不在onpaint中画?

------解决方案--------------------
探讨
哦,是这样,谢谢,可是我在onpaint函数有其他用,那除了在onpaint中画图没有其他解决法子了吗?