最近使用gdi+把jpg图片显示在picture control上,使用了双缓冲技术,为什么移动窗口很卡
代码如下
       CDialog::UpdateWindow(); 
//CPaintDC dc(this->GetDlgItem(IDC_STATIC));
   CPaintDC dc(this->GetDlgItem(IDC_STATIC));
// Graphics mGraphics(dc.GetSafeHdc() );
//   CPaintDC dc(this);
Image img( (const WCHAR*)strFileName,FALSE );
        CRect rcClient;
m_picture = (CStatic*)this->GetDlgItem(IDC_STATIC);
//GetClientRect( &rcClient );
m_picture->GetClientRect(&rcClient);
Bitmap memBitmap(rcClient.right,rcClient.bottom);
        Graphics mGraphics(&memBitmap);
BOOL bWidth = rcClient.Width() / img.GetWidth() > rcClient.Height() / img.GetHeight();
        if (bWidth)
{
mGraphics.DrawImage( &img, 0, 0, rcClient.Width(), rcClient.Width() * img.GetHeight() / img.GetWidth());
}
else
{
mGraphics.DrawImage(&img, 0, 0, rcClient.Height() * img.GetWidth() / img.GetHeight(), rcClient.Height());
}
Graphics gr(dc.GetSafeHdc());
gr.DrawImage(&memBitmap,0,0);
//::ReleaseDC(m_hWnd,dc);
 
//dc.DeleteDC();gdi+图片技术移动