3538|5

85

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WINCE 中vc的双缓存的实现 [复制链接]

HBITMAP hbitmap,hOldBMP,hsysbmp,hbkbmp;

HDC hdcmem,hdcsys,hdcbkbmp;
BITMAP bm;
hsysbmp=CreateCompatibleBitmap(hdc,240,320);
hdcsys=CreateCompatibleDC(hdc);
SelectObject(hdcsys,hsysbmp);
BitBlt(hdc,0,0,240,320,hdcsys,0,0,WHITENESS);

hbkbmp=LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_BITMAP6));
hdcbkbmp=CreateCompatibleDC(hdc);
SelectObject(hdcbkbmp,hbkbmp);
BitBlt(hdcsys,0,0,240,320,hdcbkbmp,0,0,SRCAND);

hbitmap=LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_MAINMENUBG));
hdcmem=CreateCompatibleDC(hdc);
GetObject(hbitmap,sizeof(BITMAP),&bm);
hOldBMP=(HBITMAP)SelectObject(hdcmem,hbitmap);
BitBlt(hdcsys,0,0,240,320,hdcmem,0,0,SRCPAINT);

BitBlt(hdc,0,0,bm.bmWidth,bm.bmHeight,hdcsys,0,0,SRCCOPY);

SelectObject(hdcmem,hOldBMP);
DeleteObject(hbkbmp);
DeleteObject(hbitmap);
DeleteObject(hsysbmp);
DeleteDC(hdcsys);
DeleteDC(hdcbkbmp);
DeleteDC(hdcmem);
请问这段代码,没有效果,请问是什么问题?是背景图片吗?背景图该用什么样的

最新回复

我只是说我没有用过,又没有说CE系统不支持它们  详情 回复 发表于 2009-12-30 13:03
点赞 关注

回复
举报

90

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
多次写hdc,只有最后一次的可能显示出来

多次写hdcsys,要考虑显示的效果,不常用SRCAND和SRCPAINT
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
建议LZ去google一下,关于双缓冲的代码,网上很多的
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

4
 
因为使用缓冲,看不到写到缓冲的图像是否正确,LZ可以考虑先将所有写的目标直接指向hdc,看看效果;然后再用缓冲来实现最终的代码。
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

5
 
请问难道在vc下能只用SRCCOPY能实现双缓存吗?
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 fengle123456 的回复:
请问难道在vc下能只用SRCCOPY能实现双缓存吗?


我只是说我没有用过,又没有说CE系统不支持它们
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表