MFC:Picture控件的用法

MFC:Picture控件的用法一 利用 Picture 控件静态加载显示 Bitmap 图片在界面上创建 Picture 控件将 Picture 控件的 Type 属性设为 Bitmap 导入或新建 Bitmap 类型资源 ID 为 IDB BITMAP1 等等为控件添加变量 CStaticm pic 加载图片代码 HBITMAPhBitm LoadBitmap AfxGetInstan

一、利用Picture控件静态加载显示Bitmap图片

  1. 在界面上创建Picture控件
  2. 将Picture控件的Type属性设为Bitmap
  3. 导入或新建Bitmap类型资源,ID为IDB_BITMAP1等等
  4. 为控件添加变量CStatic m_pic;

加载图片代码:

HBITMAP hBitmap = ::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1)); m_pic.SetBitmap(hBitmap);

分析:

二、利用Picture控件动态加载显示Bitmap图片

HBITMAP hBitmap = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), TEXT("D:\\test.bmp"), IMAGE_BITMAP, 50, 50, LR_DEFAULTCOLOR | LR_LOADFROMFILE | LR_CREATEDIBSECTION); m_pic.SetBitmap(hBitmap);

分析:

  1. 加载的图片在模块外
  2. 可以指定图片大小,如上图中的50,50,若实际大小和此不相符,会自动缩放图片
  3. LR_DEFAULTCOLOR — 指定按照原图的颜色加载图片,不可少
    LR_LOADFROMFILE — 加载外部的Bitmap,一定要指定
    LR_CREATEDIBSECTION — 一般会指定




  4. 如若按照图片本身的大小加载,则设置cx,cy为0,0,并且在最后的标志位加上|LR_DEFAULTSIZE

注意:从网上下载的Bitmap图片可能用上面的方法加载失败,返回的HBITMAP为NULL,GetLastError()返回0,这个一般是图片格式的问题,可以用Windows的画图程序打开Bitmap再另存为24位位图的bmp格式就可以了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222697.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午3:11
下一篇 2026年3月17日 下午3:11


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号