荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: oopilix (PADRAD), 信区: Visual
标 题: Re: [fr]无闪烁显示
发信站: 荔园晨风BBS站 (Tue May 20 18:43:51 2003), 站内信件
双缓冲技术,可以实现动画等近无闪烁显示
从CSDN收录的。
【 在 littlebao (爱拼才会赢) 的大作中提到: 】
: GOOD ,oopilix真实个好人,怎么不申请做板斧?
: 可否简单说一下原理。什么技术来着?
: 【 在 oopilix (PADRAD) 的大作中提到: 】
: : 在OnDraw加入以下代码
: : {
: : CDC dc;
: : CDC* pDrawDC = pDC;
: : CBitmap bitmap;
: : CBitmap* pOldBitmap;
: : CRect client;
: : pDC->GetClipBox(client);
: : CRect rect = client;
: : DocToClient(rect);
: : if (!pDC->IsPrinting())
: : {
: : if (dc.CreateCompatibleDC(pDC))
: : {
: : if (bitmap.CreateCompatibleBitmap(pDC, rect.Width()
, rect.Height()))
: : {
: : OnPrepareDC(&dc, NULL);
: : pDrawDC = &dc;
: : dc.OffsetViewportOrg(-rect.left, -rect.top);
: : pOldBitmap = dc.SelectObject(&bitmap);
: : dc.SetBrushOrg(rect.left % 8, rect.top % 8);
: : dc.IntersectClipRect(client);
: : }
: : }
: : }
: : //绘图操作
: : //
: : if (pDrawDC != pDC)
: : {
: : pDC->SetViewportOrg(0, 0);
: : pDC->SetWindowOrg(0,0);
: : pDC->SetMapMode(MM_TEXT);
: : dc.SetViewportOrg(0, 0);
: : dc.SetWindowOrg(0,0);
: : dc.SetMapMode(MM_TEXT);
: : pDC->BitBlt(rect.left, rect.top, rect.Width(), rect.Height()
,
: : &dc, 0, 0, SRCCOPY);
: : dc.SelectObject(pOldBitmap);
: : bitmap.DeleteObject();
: : brush.DeleteObject();
: : }
: : }
--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 61.144.235.39]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店