控件关联自定义控制变量后所带来的有关问题

控件关联自定义控制变量后所带来的问题
在模态对话框上添加了几个静态文本, 为了使静态文本的背景透明, 从CStatic派生了一个类,在该类里重写了OnPaint()函数,代码如下

void MyStatic::OnPaint() 
{

//CPaintDC dc(this); // device context for painting
CDC  *pDC = GetDC();
int oldMode=pDC->SetBkMode(TRANSPARENT);
CString strTitle;
GetWindowText(strTitle);
CFont ft;
ft.CreatePointFont(100,"宋体",NULL);
pDC->SelectObject(&ft);
pDC->TextOut(0,0,strTitle);
pDC->SetBkMode(oldMode);
ReleaseDC(pDC);
// TODO: Add your message handler code here

// Do not call CStatic::OnPaint() for painting messages
}

现在的问题是, 只要我为静态文本控件添加MyStatic类型控制变量,当我移动该模态对话框时,这些控件就不见了,同时模态对话框原来的位置不会刷新,还留着模态对话框的“影子”,请看下图:控件关联自定义控制变量后所带来的有关问题

希望大神们给予指教,不胜感激。

------解决方案--------------------
你 不用 //CPaintDC dc(this);  
用 CDC  *pDC = GetDC(); 是 错误的。
重绘窗口 必须 用 CPaintDC dc(this) ,他会保证 窗口 从 无效 变为 有效。否则 Paint 信息 将 不断 产生。
CDC  *pDC = GetDC() 这个DC 是 窗口 有效 后 使用的。