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

邂逅msQW50
2013-10-13 · TA获得超过3285个赞
知道小有建树答主
回答量:924
采纳率:0%
帮助的人:1747万
展开全部
   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"结尾,这是意味着该常量的类型是"unsignedlong"(在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"转换成"PublicType" 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中表示为: pszSubKeyAsStringpszValueNameAsString对于最后一行"}TBSAVEPARAMSA,FAR*LPTBSAVEPARAMSA;"我们只需要用"EndType"取代  就可以了.转换成VB代码后完整的结构为: PublicTypetagTBSAVEPARAMSAhkrAsLongpszSubKeyAsStringpszValueNameAsStringEndType  以下是VC++中数据类型对应到VB中的数据类型VC++数据类型VB数据类型                   shortIntegerintLonglongLongUNITLongULONGLongWORD ,DWORDLongWPARAM,LPARAMLongWMSG,UMSGLongHRESULTLongBOOLBooleanCOLORREFLongHWND,HDC,HBRUSH,HKEY,等等.LongLPSTR,LPCSTRStringLPWSTR,OLECHAR,BSTRStringLPTSTRStringVARIANT_BOOLBooleanunsignedcharByteBYTEByteVARIANTVariant(任何以*或**结尾的数据类型)Long   WINCOMMCTRLAPIHWNDWINAPICreateStatusWindowsA(LONGstyle,LPCSTRlpszTest,HWNDhwndParent,UINTwID);  这个函数创建一个StatusBar控件. 从WINCOMMCTRLAPI可以得知该函数来自动态链接库ComCtl32. dll
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式