在滚动视图中如何解决重画问题? 我在OnDraw函数中重画了。如果吧视图最小化后再打开,重画是成功的,但是如果拉动滚动条,到了上面被遮住的部分,然后再往下拉的时候,方才遮住的部分就会被变成空白。我不知道什么地方还应该重画,请各位指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int flag = 0;OnDraw(CDC* pDC ){ if (flag == 0) { CRect rect = GetClientRect(&rect); CDC *pMemDC = CreateCompatibleDC(); CBitmap *bitmap = CreateCompatibleBitmap(pDC, rect.Width(), rect.Height()); CBitmap *oldmap = pMemDC.SelectObject(bitmap); flag = 1; } ......//绘图程序,根据滚动条的位置确定绘制的图形。 pDC.BitBlt(0, 0, rect.Width(), rect.Height(), pMemDC, rect.Width(),rect.Height(), SRCCOPY);} 每发送一个WM_PAINT消息,就在内存DC中重新根据SCROLL位置画一次,并将其贴到SCREEN DC上。甚至可以建立多个pMemDC进行BitBlt. 关于ATLVU的栈错误 问个openGL的问题 试试怎么添加源码 DirectDr视频上画图,DirectDraw+GDI,画面闪?? 如何判断一个系统API 当前是被哪一个进程调用的? 代码为什么不能在Dialog上显示一个A?? CreateWindow函数,有一个参数HINSTANCE,是干什么用的?? 请教一下函数输出的问题! 文件分割小问题 请教大虾多线程中的计时器设置问题,我很急,多谢各位了 如何修复mdb文件? socket是全局变量,需要不需要保护呢?
OnDraw(CDC* pDC )
{
if (flag == 0)
{
CRect rect = GetClientRect(&rect);
CDC *pMemDC = CreateCompatibleDC();
CBitmap *bitmap = CreateCompatibleBitmap(pDC, rect.Width(), rect.Height());
CBitmap *oldmap = pMemDC.SelectObject(bitmap);
flag = 1;
}
......//绘图程序,根据滚动条的位置确定绘制的图形。
pDC.BitBlt(0, 0, rect.Width(), rect.Height(), pMemDC, rect.Width(),rect.Height(), SRCCOPY);
}