CFromView重绘后出现黑块,该怎么解决

CFromView重绘后出现黑块
平台是VS2008+win7,SDI项目,VS2005风格界面。
在系统自动生成的CFromView中使用Picture控件显示图片
void CXXXView::ShowPicture(CStatic &Control,CString Path)
{
CRect rect;
Control.GetClientRect(&rect); //获得控件的区域对象
try
{
CImage image; 
//装载路径下图片信息到图片类
if(S_OK != image.Load(Path))
{
return ;
}
CDC* pDC = Control.GetWindowDC(); //获得显示控件的DC
image.Draw( pDC -> m_hDC,rect); //图片类的图片绘制Draw函数
ReleaseDC(pDC);
}
catch (...)
{
MessageBox(_T("图片载入失败"));

}
}

void CXXXView::OnPaint()
{
CPaintDC dc(this); // device context for painting
ShowPicture(m_Order,_T("picture\\book.jpg"));
ShowPicture(m_Store,_T("picture\\Store.jpg"));
ShowPicture(m_Sale,_T("picture\\Sale.jpg"));
....都是这类语句
}

程序运行后,有时候能绘制出整个界面,但更多的时候会出现屏幕黑块,出现最多的是标题栏、可停靠栏(VC2005的属性窗口)、windows的开始按钮也会黑掉!但点击相应该FromView任一事件后,全屏幕显示恢复正常,请问什么原因,如何解决?谢谢

------解决方案--------------------
上传你的工程到你的资源。
会有人帮你的。
------解决方案--------------------
代码我下载,编译看了看问题。我的系统Win7 + VS2010,程序Debug运行没问题。但是楼主的做法很不好。

CPictureButton已经子类化了CStatic,OnPaint()函数会自动导入图片,并显示。所有View里面只需要负责传入CPictureButton需要的图片字符串即可。

CtemView中的ShowPicture()函数可以删除,CtemView的OnPaint()也不用响应消息,只需要直接在OnInitialUpdate()函数调用:

m_Order.m_Path = _T("picture\\book.jpg");
m_JianTou1.m_Path = _T("picture\\jiantou.jpg");
...

就能实现功能了。