windows程序开发中c++和c#的对照(2)

简介: (1)已知一个位图句柄(HBITMAP),如何获取位图的宽度和高度? 在C#中非常简单,只需要直接访问bitmap.Width和Height属性即可。 在Platform SDK中,GetBitmapDimensionEx是不能完成这个功能的(它需要事先调用SetBitmapDimensionE...

(1)已知一个位图句柄(HBITMAP),如何获取位图的宽度和高度?

在C#中非常简单,只需要直接访问bitmap.Width和Height属性即可。

在Platform SDK中,GetBitmapDimensionEx是不能完成这个功能的(它需要事先调用SetBitmapDimensionEx),

而使用GetObject函数来获取GDIOBJECT的信息,如下代码:

 

 HBITMAP hBitmap;

 BITMAP bminfo;

 GetObject(hBitmap, sizeof(BITMAP), &bminfo);

 

 从 bminfo.bmWidth 以及 bmHeight属性可以得到。

 

(2)如何从一个本地文件路径加载一个HBITMAP?

 

LoadBitmap可以从HINSTANCE中加载位图资源,但是无法从文件名中加载。要完成这个任务,需要使用LoadImage。

例如:

char* strFileName="c:\\a.bmp";

HBITMAP hBitmap= (HBITMAP)LoadImage(NULL, strFileName, IMAGE_BITMAP,0,0,LR_LOADFROMFILE);

 

但LoadImage函数只能加载BMP文件,无法成功加载JPG格式。如果要加载JPG格式,应使用OleLoadPicturePath获取一个IPicture接口对象,调用其Render函数在指定的DC进行绘制。

 

(3)如何使ActiveX控件重绘?

要使在IE中的ActiveX控件,可以调用this->FireViewChange();

 (4)设置Edit(TextBox)控件的最大可输入字符数。

VC: SendDlgItemMessage(hDlg, 控件ID,  EM_SETLIMITTEXT, 12, 0);//设置最大可输入12字符。

C#:TextBox.MaxLength=12;

(5)使Edit(TextBox)选中全部文本。

VC: SendDlgItemMessage(hDlg, 控件ID,  EM_SETSEL, 0, -1);//设置最大可输入12字符。

C#:TextBox.SelectAll();

             (to be continued...)

 

目录
相关文章
|
7月前
|
安全 Ubuntu iOS开发
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
283 3
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
|
7月前
|
Ubuntu API C++
C++标准库、Windows API及Ubuntu API的综合应用
总之,C++标准库、Windows API和Ubuntu API的综合应用是一项挑战性较大的任务,需要开发者具备跨平台编程的深入知识和丰富经验。通过合理的架构设计和有效的工具选择,可以在不同的操作系统平台上高效地开发和部署应用程序。
285 11
|
10月前
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
296 2
|
9月前
|
Ubuntu Linux Windows
如何在Ubuntu系统中安装Wine,借此来运行Windows程序
熟悉的登录画面出现,在Ubuntu系统中扫描登录微信程序。
|
9月前
|
Unix Linux 编译器
解决在Windows平台上运行Golang程序时出现的syscall.SIGUSR1未定义错误。
通过这种结构,你的代码既可以在支持 SIGUSR1 信号的系统上正常工作,又可以在不支持这些信号的 Windows 系统上编译通过,确保跨平台的兼容性和功能的完整性。
346 0
|
11月前
|
Windows
Windows下版本控制器(SVN)-启动服务器端程序
Windows下版本控制器(SVN)-启动服务器端程序
485 4
|
12月前
|
安全 Devops 测试技术
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
234 0
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
|
安全 JavaScript Java
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
250 12
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
Windows程序的数字签名证书怎么申请
Windows程序的数字签名证书申请流程包括:准备企业资料(营业执照、税务登记证等),提交申请表及企业资料。经过初审、实名认证和二审后,等待1-5个工作日审核结果。审核通过后,CA机构颁发证书并通过邮件或邮寄方式发送。收到证书后按指南安装并使用签名工具对程序进行数字签名,确保软件完整性和可信度。注意证书有效期、管理和兼容性问题。
|
自然语言处理 安全 测试技术
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
940 0
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试