,MFC 使用picture control显示图像出现有关问题

求助,MFC 使用picture control显示图像出现问题。
代码如下:
void CFPDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
CImage m_img;
CString strFilter;  
CSimpleArray<GUID> aguidFileTypes;  
HRESULT hResult;// 获取CImage支持的图像文件的过滤字符串  
hResult = m_img.GetExporterFilterString(strFilter,aguidFileTypes,  _T( "All Image Files") ); 
CFileDialog dlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST, strFilter); 
if(IDOK != dlg.DoModal())   
return;m_img.Destroy(); 
CString imgpath=dlg.GetPathName();
hResult = m_img.Load(imgpath); 
CRect rect;//定义矩形类  
int cx = m_img.GetWidth();//获取图片宽度  
int cy = m_img.GetHeight();//获取图片高度  
int m=0;
GetDlgItem(IDC_STATIC)->GetWindowRect(&rect);//将窗口矩形选中到picture控件上  
ScreenToClient(&rect);//将客户区选中到Picture控件表示的矩形区域内  
GetDlgItem(IDC_STATIC)->MoveWindow(rect.left, rect.top, cx, cy, TRUE);//将窗口移动到Picture控件表示的矩形区域  
  
CWnd *pWnd=GetDlgItem(IDC_STATIC);//获得pictrue控件窗口的句柄  
  
pWnd->GetClientRect(&rect);//获得pictrue控件所在的矩形区域  
 
CDC *pDC=pWnd->GetDC();//获得pictrue控件的DC  

m_img.Draw(pDC->m_hDC, rect); //将图片画到Picture控件表示的矩形区域  
ReleaseDC(pDC);
}

debug,当运行到下图断点的地方时,显示图像
,MFC 使用picture control显示图像出现有关问题

,MFC 使用picture control显示图像出现有关问题
但是debug运行完后,却只显示原始的一点点,如下图
,MFC 使用picture control显示图像出现有关问题
------解决方案--------------------
第二个图是因为调试界面切换, 导致窗口重新刷新了部分内容而以.

你的绘制图像的显示一般是需要放到OnPaint中. 否则窗口刷新后, 你的图就不见了.

你后面的的设置,只是为环境设置字符集, 因为你的程序中未涉及到字符串的操作, 这里设置应该是没什么区别的.

你的ReleaseDC是用错了.
GetDC和ReleaseDC是对应关系.
即GetDC是使用的pWnd->GetDC()
那么说就应该使用pWnd->ReleaseDC()释放.
------解决方案--------------------
你那代码dc来自对话框不是pic控件,画图画到对话框上了,然后,你的在对话框上画的图又被pic控件遮挡
------解决方案--------------------
绘图的代码最好放到OnPaint/OnDraw函数中。