编译能通过,为何静态文本控件上画不了图?解决思路

编译能通过,为何静态文本控件上画不了图??
我在对话框上添加一个按钮,当单击后生成一个新的对话框,并在新对话框上的一个静态文本控件上划一条线,为何不成功?
下面是单击事件代码,CPic是新对话框类名,IDC_STATIC1是新对话框上的静态文本控件ID号。


void   COPENTXTDlg::OnBnClickedPaintbutton()
{  
      CPic   *dlg=new   CPic;  
      dlg-> Create(IDD_PAINTDLG,NULL);
      dlg-> ShowWindow(SW_SHOW);

      CWnd*   pWnd=GetDlgItem(IDC_STATIC1);
      ASSERT(pWnd);
      CDC*   pDC=pWnd-> GetDC();
      pDC-> MoveTo(50,30);
      pDC-> LineTo(200,200);
      ReleaseDC(pDC);

}

------解决方案--------------------
IDC_STATIC1是CPic对话框里面的控件!不是COPENTXTDlg对话框里面的控件!
------解决方案--------------------
IDD_PAINTDLG上有没有IDC_STATIC1?
有的话,吧 CWnd* pWnd=GetDlgItem(IDC_STATIC1);
改成 CWnd* pWnd=dlg-> GetDlgItem(IDC_STATIC1);

------解决方案--------------------
不过我一移动窗口,图形就消失了,如何解决呢
======================================================
一但移动,就会触发WM_PAINT消息,导致重绘控件
CStatic由CWnd继承而来,重载WM_PAINT的消息处理函数OnPaint,在这个函数里面把要画的东西再画一次
------解决方案--------------------
在新对话框中添加public变量:例如:POINT p1, p2;
CPic *dlg=new CPic;
dlg-> Create(IDD_DIALOG1,NULL);
p1.x = 50;
p1.y = 30;
p2.x= p2.y = 200;
dlg-> ShowWindow(SW_SHOW);

在新对话框OnPaint函数:

CPaintDC dc(this); // device context for painting
dc.MoveTo(p1);
dc.LineTo(p2);

也可以直接将主对话框的指针传到新对话框,在新对话框中直接访问主对话框的public变量