函数功能:该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。

函数原型:HDC CreateCompatibleDC(HDC hdc);
参数:
hdc:现有设备上下文环境的句柄,如果该句柄为NULL,该函数创建一个与应用程序的当前显示器兼容的内存设备上下文环境。
返回值:如果成功,则返回内存设备上下文环境的句柄;如果失败,则返回值为NULL。
CreateCompatibleDc函数只适用于支持光栅操作的设备,应用程序可以通过调用GetDeviceCaps函数来确定一个设备是否支持这些操作。
当不再需要内存设备上下文环境时,可调用DeleteDc函数删除它。
用双缓冲的话还要再定义一个位图对象吧,然后用CreateCompatibleBitmap建立一个与屏幕显示兼容的位图,再用SelectObject将位图选入到内存显示设备中,不知道是不是这样
首先给出实现的程序,然后再解释,同样是在OnDraw(CDC *pDC)中:
CDC MemDC; //首先定义一个显示设备对象
CBitmap MemBitmap;//定义一个位图对象
//随后建立与屏幕显示兼容的内存显示设备
MemDC.CreateCompatibleDC(NULL);
//这时还不能绘图,因为没有地方画 ^_^
//下面建立一个与屏幕显示兼容的位图,至于位图的大小嘛,可以用窗口的大小,也可以自己定义(如:有滚动条时就要大于当前窗口的大小,在BitBlt时决定拷贝内存的哪部分到屏幕上)
MemBitmap.CreateCompatibleBitmap(pDC,nWidth,nHeight);
//将位图选入到内存显示设备中
//只有选入了位图的内存显示设备才有地方绘图,画到指定的位图上
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
//先用背景色将位图清除干净,这里我用的是白色作为背景
//你也可以用自己应该用的颜色
MemDC.FillSolidRect(0,0,nWidth,nHeight,RGB(255,255,255));
//绘图
MemDC.MoveTo(……);
MemDC.LineTo(……);
//将内存中的图拷贝到屏幕上进行显示
pDC->BitBlt(0,0,nWidth,nHeight,&MemDC,0,0,SRCCOPY);
//绘图完成后的清理
MemBitmap.DeleteObject();
MemDC.DeleteDC();
gdi在sdk应该是很重要的东西,不过嘛自己的水平实在是不怎么够品。长久以来一直都没有认识到 CreateCompatibleDC 的用途到底在这里,不过还好从知道这个东西数起的200天内,我终于还是晓得一些关于这个函数或者说内存dc存在的意义了。
在这种情况下,假如你要对屏幕进行比较多的gdi函数操作,如果每一步操作都直接对屏幕dc进行操作,那出现的大多数可能性都是屏幕的闪烁。一个很好的解决方法就是使用内存dc,将这些操作全部先在内存dc上操作,然后依次性在屏幕上进行操作。
例如:如果你单单使用bitblt在屏幕上拷贝一个图,那可以直接使用屏幕的dc。但是如果你要先设置背景(fillrect)然后再bitblt的话,这就涉及到两个屏幕dc的操作,这样的话屏幕很容易闪烁。
相关推荐:
SEO是什么意思?揭秘SEO的真正含义与重要性,公司推广网站询问d火18星来
SEO引擎优化方法-让你的网站流量暴增的实战指南,ai智慧树
ChatGPT的破解版:AI世界的新突破,ai无禁忌
SEO运营工作是什么,seo公司运营 ,720516AI
优化文字,让表达更精准:提升写作效率的关键,个人网站建设外包
为什么seo这么麻烦,seo是什么意思 为什么要做seo ,dota1ai地图命令选ai
chatai写作免费一键生成,轻松解决写作难题!,陈逗逗ai换脸在线看
软件AI的全称:人工智能驱动未来的关键力量
seo经理做什么的,seo经理招聘 ,盲人ai眼镜
文章续写AI:提升写作效率,创意无限
亚马逊产品seo什么意思,亚马逊平台产品专业术语 ,小新同学ai
SEO优化是做什么的?让你的网站流量飙升的秘密武器,乳腺癌ai作用机理
seo网站是什么东西,seo网站是什么东西啊 ,ai锯齿消失
AI缩写在线:让人工智能助力你行业前沿技术,ai uhrehara
为什么行业都要做seo,为什么要做seo ,ai明信片
为什么选择B站VIP?让你畅享更丰富的视听体验,小门类网站seo
seo系列什么意思,seo的分类 ,que n ai je
seo点击工具,seo排名点击软件推荐 ,ai狂躁
AI提炼主要内容:如何让信息更精准、高效、易懂,女军人ai
SEO笔记:如何打造高效的SEO策略提升网站排名,网站优化优质服务方案
ChatGPT网页打不开?快来看看这些解决办法,轻松恢复正常访问!,ai金色包装
GoogleGTP-智能时代的革命性突破,人工智能的新纪元,ai可以降论文ai率吗
“新关键词”开启智慧营销新篇章,助力品牌突围,自己如何做网站seo
SEO检测,让网站排名飞升的秘密武器,高端快消食品营销推广
seo网站代码是什么,网站专业术语中seo意思是什么 ,拟人ai制作
SEO新闻:2025年最新趋势与最佳实践,你不可错过的SEO战略,郑州网络营销推广的优势
SEO快速优化文章排名:提升网站流量的必备技巧,ai小苹果会员分享
ChatGPT页面无法下拉?禁用浏览器扩展,轻松解决!,imba 1.6 ai
seo网站是什么找行者SEO,seo分析网站 ,ai图文梅花
GoogleSEO打满分自然流量会高吗?揭开SEO优化的真相,猪插画ai
ChatGPT网页版内容显示不全的原因与解决方案,ai超级绘
在线AI生成文章:智能写作的未来趋势
SEM做得好可以取代SEO吗?浅析两者的异同与未来趋势,王道ai
GPT优化:让你的工作与生活更高效、更智能,Ai__79
怎么用AI写文章:高效创作的秘诀
SEO对策:提升网站排名与流量的必备策略,SEO入门相机平价学生
优化*:打造更加高效、创新的娱乐体验,石排网站建设制作多少钱
SEO查:如何用精准的SEO诊断助力网站流量爆发,美团关键词排名怎么补
“关键词指白”:揭秘如何通过精准关键词优化实现流量暴增,全面分析网站seo
Bing无法使用怎么办?解决方法及替代方案推荐!,ai文字设计教程
seo自己做什么,自己做seo需要花钱吗 ,ai850775
ChatGPT不登录,如何畅享AI的智能服务?,手信ai
ChatGPT:我目前无法查看或解析附件,您是否遇到过这样的困扰?,ai+燃烧
“只能写作”:在创作的世界里,选择文字,就是选择自由,云南关键词排名推广报价
SEO优化关键词品牌:如何通过精准的关键词提升品牌价值,ai免费智能写作论文
seo站内链接有什么作用,seo中网站内链的作用 ,781900ai
ChatGPTWindows版本:让AI助手成为你的工作与生活得力助手,Ai相减变形
从零到一:网站历史的演变与未来趋势,肇庆市国外网站建设平台
用AI写科普文章:科技改变写作的未来
ChatGPT:OpenAI的创新之作-一款颠覆传统的语言模型,ai球衣号