相关疑难解决方法(0)

使用GDI +和C++减少闪烁

我在C++/MFC应用程序中使用GDI +,每当窗口调整大小时,我似乎无法避免闪烁.

我已经尝试过这些步骤:

  • 返回TRUE OnEraseBkGnd();
  • 返回NULL OnCtlColor();
  • 根据此代码使用双缓冲:

void vwView::OnDraw(CDC* pDC) 
{
   CRect rcClient;
   GetClientRect(rcClient);

   Bitmap bmp(rcClient.Width(), rcClient.Height());
   Graphics graphics(&bmp);

   graphics.DrawImage(m_image, rcClient.left, rcClient.top);

   Graphics grph(pDC->m_hDC);
   grph.DrawImage(&bmp, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?或者有另一种方法来实现这一目标吗?

c++ windows gdi+

20
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×1

gdi+ ×1

windows ×1