根据图像路径,创建CBitmap对象的方法

因为项目的关系,需要根据图像路径,创建CBitmap对象。起初查资料找到了LoadBitmap这个函数,根据CSDN得

BOOL LoadBitmap ( LPCTSTR lpszResourceName );

Parameters


lpszResourceName:Points to a null-terminated string that contains
the name of the bitmap resource.

以为这里的lpszResourceName参数是文件路径名,但经过尝试,失败了!找了很多资料才发现问题。

lpszRecourceName按字面意思好像是"指向资源的名称字符串",可实际呢?却不是一般理解的磁盘上的资源文件名,而是VC工程内部已导入的资源名,所以把外部文件的名称赋给它当然不成功了.问题怎么解决呢?---用API函数HBITMAP
LoadImage("文件名");不过该函数返回的是指向Load图片的句柄,所以需要用到CBitmap的Attach方法: 
////直接从外部文件加载图片

HBITMAP
bitmap; 
bitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),strFileName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE); 
m_backBitmap.DeleteObject(); 
if(!m_backBitmap.Attach(bitmap)) 

  
MessageBox("导入背景图失败!","提示",MB_OK); 
  
return; 
}

时间: 2024-08-03 05:52:44

根据图像路径,创建CBitmap对象的方法的相关文章

三种创建XMLHttpRequest对象的方法

XMLHttpRequest对象,也就是Ajax交互的核心对象. 这里列举三种创建Ajax对象的方法. 第一种: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Examples&

Floodlight 中创建消息对象的方法

在 floodlight 中创建各种openflow message 和 action 等采用的是简单工厂方式,BasicFactory类(实现OFMessageFactory接口,)会根据消息的类型创建不同的对象,达到更好的封装效果:此外这里调用的是枚举类型的方法.下面是具体代码: ----------工厂接口,还有OFActionFactory,约束需要具体工厂完成的事情 public interface OFMessageFactory { // 根据消息类型得到具体的实例 public 

JavaScript中创建自定义对象的方法

本文内容参考JavaScript高级程序设计(第3版)第6章:面向对象的程序设计 ECMA-262中把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.”我所理解的就是对象就是一个结构体,结构体中有一些它的基本属性以及对结构体处理的方法,把它们封装起来称为一个整体.JS中所有的对象都是基于一个引用类型创建,这个引用类型可以是原生类型,如Array,Date等,也可以是开发人员自定义的类型. 下面主要总结下JS中创建对象的几种模式,分析他们各自的优缺点. 1. 工厂模式 /****

Javascript 中创建自定义对象的方法(设计模式)

Javascript 中创建对象,可以有很多种方法. Object构造函数/对象字面量: 抛开设计模式不谈,使用最基本的方法,就是先调用Object构造函数创建一个对象,然后给对象添加属性. 1 var student = new Object(); 2 student.name = "xiao ming"; 3 student.age = 20; 4 student.getName = function () { 5 alert(this.name); 6 } 熟悉javascrip

创建JavaScript对象的方法

方法一:object类型方法 var  person = new Object(); person.name="alisa"; person.age="16"; person.sex="female"; person.sayname = function(){ return this.name; } 方法二:对象字面量方法 var person={ name:"alisa", age:16, sex:"female&

Javascript创建空对象和空数组的几个方法和差别

以下是三种创建空对象的方法: var emptyObj1 = {}; var emptyObj2 = new Object(); var emptyObj2 = Object.create(Object.prototype); 他们对Javascript来说是一样的,新创建的三个对象会继承object所有的属性和方法,所以emptyObj1.toString等于Object.prototype.toString.但是要注意,{}.toString是会报错的! 类似的还有空数组问题: var em

不同浏览器创建 ajax XMLHTTPRequest对象的方法及兼容性问题总结

XMLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始. 了解XMLHttpRequest 对象就先从创建XMLHttpRequest 对象开始,在不同的浏览器中创建XMLHttpRequest 对象使用不同的方法: 先看看IE创建XMLHttpRequest 对象的方法(方法1): var xmlhttp=ActiveXobject("Msxml12.XMLHTTP");//较新的IE版本创建Msxml12.XMLH

xmlHttpRequest 对象使用方法总结

不同的浏览器中创建XMLHttpRequest 对象使用不同的方法: //(方法1) IE 创建XMLHttpRequest 对象的方法: var xmlhttp=ActiveXobject("Msxml12.XMLHTTP"); //较新的IE版本创建Msxml12.XMLHTTP对象 var xmlhttp=ActiveXobject("Microsoft.XMLHTTP"); //较老的IE版本创建Microsoft.XMLHTTP对象 // (方法2)Ope

Exchange 2013 PowerShell创建自定义对象

PowerShell是一个基于对象的Shell,在写一行程序,脚本和函数时,給了我们很大的灵活性.当生成详细的报告时,我们需要从代码中自定义我们的数据输出,或者可以通过管道输送到其它的命令.我们还需要能够控制和定制代码的输出,这样我们可以合并来自多个源的数据到一个单独的对象.在这一节中,我们将学习下基本的构建定制的对象 首先我们要做的时创建一个邮箱对象的集合,将用来作为一组新的自定义对象的数据源: $mailboxes = Get-Mailbox 可以添加自定义的属性用于后续整个管道的对象属性,