首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
iiprogram (83)
nizhigang2000 (3)
hongbo781202 (81)
Kendiv (113)
TechnoFantasy (52)
feifei1018 (19)
coofucoo (108)
qingrun (67)
btbtd (83)
longrujun (64)
CSDN - 文档中心 - Visual C++ 阅读:4644   评论: 0    参与评论
标题   VC小技巧,窗体中显示bmp图象     选择自 xiaodabaicai 的 Blog
关键字   VC小技巧,窗体中显示bmp图象
出处  
 虽然在高手看来这是垃圾问题,但对于我们这些菜鸟,这是很必须的.因为高手很不屑写这些的
我刚刚学会,为了挽救普天之下和我一样的菜鸟们,就写了这样一篇文章.
在vc中显示BMP并不象VB那么简单,用个loadpicture,什么格式全部ok,在vc中又需要做一些额外工作.
我们用 SDI作示范.
新建一个SDI的工程,所有都是默认.打开资源编辑器,右键,import 选择图片导入.使用默认的ID
不要尝试去编辑他,因为他的颜色超过了256.在OnDraw函数中添加如下代码:
 CDC memDC;//内存设备场景
 CBitmap cb;//位图类对象
 CRect rect;
 GetWindowRect(&rect);
 cb.LoadBitmap (IDB_BITMAP1);//载入资源
 memDC.CreateCompatibleDC (pDC);//创建内存设备上下文
    CBitmap *oldbitmap=NULL;
 oldbitmap=memDC.SelectObject (&cb);//将位图选入当前设备场景
 pDC->BitBlt (0,0,rect.Width (),rect.Height (),&memDC,0,0,SRCCOPY);//将内存场景的图象拷贝到屏幕上
 memDC.SelectObject (oldbitmap);
 这样就完成了, 其实不难理解,同一般的GDI作图是一样的原理.
 加上注释,广大菜鸟应该能懂.

相关文章
对该文的评论