请问,如何在鼠标移动时,防止图像闪烁? 请问,如何在鼠标移动时,防止图像闪烁? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用内存绘图:void C**View::OnMouseMove(UINT nFlags, CPoint point) { CDC *pdc=this->GetDC(); CDC MenDC; CBitmap bm; CRect rt; GetClientRect(&rt); MenDC.CreateCompatibleDC(pdc); bm.CreateCompatibleBitmap(pdc,rt.Width(),rt.Height()); MenDC.SelectObject(&bm); //------------------------------------------------------------------- MenDC.FillSolidRect(0,0,rt.Width(),rt.Height(),RGB(255,255,255));//用白色清屏 MenDC.MoveTo() //在这里绘图 MenDC.LintTo() //------------------------------------------------------------------- pdc->BitBlt(0,0,rt.Width(),rt.Height(),&MenDC,0,0,SRCCOPY); MenDC.DeleteDC(); bm.DeleteObject(); ReleaseDC(pdc); CScrollView::OnMouseMove(nFlags, point);} 开双buffer,这要看你的开发环境了。设置DoubleBuffer的属性值为真。 呵呵这个是cbuilder的,vc下没这个,只能自己写代码。 用内存DC,我刚做了一个鼠标拖动在对话框上画线的程序。将要画在屏幕上的图先画到内存DC中,然后一次贴到屏幕上,这样就可以避免闪烁了 MFC veiw工程 mschart绘图,鼠标消息 点的位置确定 vc 随机算法 请教如何区分自定义按钮的左右键消息? 如何选中另一个程序中的SysTreeView32中的Checked Box? 单文档关闭问题 怎样注销COM 的进程? 在线等! 解决就给分! 关于FindWindow的疑问 请问在基于对话框的程序中使用序列化(串行化)? 有关CString转 BYTE A[100]的问题 用于crc校验请各位师兄帮忙. 两个ofstream多线程写同一个文件 请教高手,这样的情况下的解决方法? Win32的实例学习,前辈们进来看看.
void C**View::OnMouseMove(UINT nFlags, CPoint point)
{
CDC *pdc=this->GetDC();
CDC MenDC;
CBitmap bm;
CRect rt;
GetClientRect(&rt);
MenDC.CreateCompatibleDC(pdc);
bm.CreateCompatibleBitmap(pdc,rt.Width(),rt.Height());
MenDC.SelectObject(&bm);
//-------------------------------------------------------------------
MenDC.FillSolidRect(0,0,rt.Width(),rt.Height(),RGB(255,255,255));//用白色清屏
MenDC.MoveTo() //在这里绘图
MenDC.LintTo()
//-------------------------------------------------------------------
pdc->BitBlt(0,0,rt.Width(),rt.Height(),&MenDC,0,0,SRCCOPY);
MenDC.DeleteDC();
bm.DeleteObject();
ReleaseDC(pdc);
CScrollView::OnMouseMove(nFlags, point);
}
设置DoubleBuffer的属性值为真。
将要画在屏幕上的图先画到内存DC中,然后一次贴到屏幕上,这样就可以避免闪烁了