文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发VB怎样把VC++代码转换成VB代码
精品推荐
特别推荐
·VB表格控件总览与例程分析
·用VB6.0制作画图板
·VB打造超酷个性化菜单(六)
·MSHFlexGrid 控件的应用
·Visual Basic 控件简介
·利用硬盘序列号计算软件注册码
·计算机等级考试二级VB常用算法:排序
·用diskid.dll和disk32.dll获得硬盘序列号
·VB6中使用Winsock穿越各种代理的实现
·在VFP、VB应用程序中激活鼠标功能
·vb基础(打印问题)
·想用就用,VB基础代码
·运用多媒体WAV文件格式二三例
·VB基础学习:编码规范
·VB实现程序的隐形
·使用.NET Framework从VB6中访问事件日志
·怎样把VC++代码转换成VB代码
·如何用VB程序来播放WAV文件
·VB 实用函数集
·用VB制作RM压缩软件
热点TOP10
·VB+Access设计图书管理系统
·DataGrid 控件的使用
·VB设计有语音报时和报警功能的闹钟
·窗体控件大小随窗体大小变化而变化
·Visual Basic 控件简介
·VB中使用DirectX库的简明教程
·串口通讯及其在VB平台下的实现
·用VB跟我学做记事本(很简单哟)
·VB API函数介绍--绘图函数
·用VB6.0制作画图板
·Visual Basic CommonDialog 控件的使用
·VB中使用EXCEL输出
·编写电话拨号程序时一点小技巧
·VB表格控件总览与例程分析
·用VB.net2008编写数据查询窗体
·用VB6.0设计一个打字练习软件
·用diskid.dll和disk32.dll获得硬盘序列号
·VB编程之路-如何让界面美化
·VB经典:操作.ini文件的通用类源代码
·用VB播放Avi、Wave、midi文件

怎样把VC++代码转换成VB代码

日期:2007年5月4日 作者: 查看:[大字体 中字体 小字体]


 对于大多数VB的爱好者来说,在很多情况下都想通过使用API函数来实现一些比较高级的功能或达到某种特殊效果,这就需要用到一些VC++的代码.

  本文就如何把VC++代码转换成VB代码给出了一些策略和方法.

  1.定义常量

  我们首先看第一个例子:

#defineSTD_COPY1//COMMCTRL.H

  在VC++代码中用#define定义常量,而在VB中是用Const来定义,因此转换成VB的代码是:

PublicConstSTD_COPY=1

  第二个例子:

#defineLB_SELECTSTRING0x018C//WINUSER.h

  这有一个问题,VC++中所有以"0x"开头的值是十六进制,而在VB中表示十六进制要用"&H"开头.因此转换成VB的代码为:

ConstLB_SELECTSTRING=0x018C

  第三个例子:

#defineTCN_FIRST(0U-550U)

  这里有个特别的是定义的值是以"U"结尾,这是意味着该常量的类型是"unsigned long"(在VB中不支持该数据类型).但是unsignedlong和signedlong(在VB中是Long)两种数据类型的值在存储方式上是一样的,只是表现的形式不同.因此,我们只需要去掉末尾的"U"就可以了.

ConstTCN_FIRST=(0-550)这同样适合以"L"结尾的值

  另外,对于#defineCDDS_ITEMPOSTERASE(CDDS_ITEM CDDS_POSTERASE),我们需要用"Or"来取代""

  2.结构的定义

  我们先看VC++定义的一个比较简单的结构:

typedefstructtagTBSAVEPARAMSA{
HKEYhkr;
LPCSTRpszSubKey;
LPCSTRpszValueName;
}TBSAVEPARAMSA,FAR*LPTBSAVEPARAMSA;

  首先我们需要把第一行的"typedefstruct"转换成"Public Type"

PublicTypetagTBSAVEPARAMSA

  然后处理结构成员,

HKEYhkr;
LPCSTRpszSubKey;
LPCSTRpszValueName;

  对于第一个成员类型HKEY.我们要知道VC++中的以"H"开头的大部分数据类型代表的是某种句柄.在VB中每一个Form对象和许多控 加幸桓鰄Wnd属性,它代表所属窗口的句柄.hWnd的类型是Long,并且所有用来存储句柄的变量类型都是Long.因此,该成员在VB中定义为:

hkrAsLong

  同样的,VC++数据类型LPSTR和LPCSTR代表指向字符串的指针,在VB中可以当作String类型.因为当你传送结构给API时,VB将把结构中所有的String转换成指向ANSI字符串的指针.因此后两个成员在VB中表示为:

pszSubKeyAsString
pszValueNameAsString

对于最后一行"}TBSAVEPARAMSA,FAR*
LPTBSAVEPARAMSA;"我们只需要用
"EndType"取代

  就可以了.转换成VB代码后完整的结构为:

PublicTypetagTBSAVEPARAMSA
hkrAsLong
pszSubKeyAsString
pszValueNameAsString
EndType

  以下是VC++中数据类型对应到VB中的数据类型VC++数据类型VB数据类型

                  
shortInteger
intLong
longLong
UNITLong
ULONGLong
WORD,DWORDLong
WPARAM,LPARAMLong
WMSG,UMSGLong
HRESULTLong
BOOLBoolean
COLORREFLong
HWND,HDC,HBRUSH,HKEY,等等.Long
LPSTR,LPCSTRString
LPWSTR,OLECHAR,BSTRString
LPTSTRString
VARIANT_BOOLBoolean
unsignedcharByte
BYTEByte
VARIANTVariant
(任何以*或**结尾的数据类型)Long

  3.函数的转换

  我们知道VB提供了APIVieweradd-in,但是有很多API函数它并没有包括在内. 因此知道如何把VC++函数转换成VB的函数格式是非常重要的.先看第一个例子:

WINCOMMCTRLAPIHWNDWINAPI
CreateStatusWindowsA(LONGstyle,
LPCSTRlpszTest,HWNDhwndParent,UINTwID);


[1] [2] 下一页 




上一篇:VB用DDE开发AutoCAD for Windows

下一篇:VB使用编程技巧三则

怎样把VC++代码转换成VB代码 相关文章:
·QQ空间免费换皮肤代码
·qq空间皮肤背景代码:QQ空间不用Q币更换主页皮肤方法
·QQ空间透明flash代码
·[最新QQ空间代码]QQ空间花,漂浮物、开场动画代码
·免费领养QQ空间五级花最新技巧及代码放送
·如何在QQ空间加入播放器代码
·QQ空间流星雨效果代码
·C#编写的windows计算器-源代码
·QQ空间植物代码
·十进制数怎样转成十六进制数?
怎样把VC++代码转换成VB代码 相关软件:
·红太阳是怎样升起的:延安整风运动的来龙去脉
·老板是怎样炼成的
·超强ASP代码集『推荐』
·5000个大型网站源代码打包下载 ASP/PHP 急要和我联系
·Flv2avi(flv格式转换成avi)V0.5测试版(猫咪可爱版)
·Oracle官方文档CHM合集-Oracle10g错误代码
·网页在线编辑器代码酷!
·飞达网上商城购物网站系统源代码网页模板正式版
·C语言垃圾代码清除工具
·IDEALBB 论坛 v1.22 完全源代码商业版

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot