b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

colevariant_colevariant 哪个类_colevariant用法(4)

电脑杂谈  发布时间:2017-01-21 04:03:09  来源:网络整理

LPARAM lParam;
WORD loValue = LOWORD(lParam);///取低16位
WORD hiValue = HIWORD(lParam);///取高16位

对于16位的数据(WORD)我们可以用同样的方法分解成高低两个8位数据(BYTE),例如:

WORD wValue;
BYTE loValue = LOBYTE(wValue);///取低8位
BYTE hiValue = HIBYTE(wValue);///取高8位

两个16位数据(WORD)合成32位数据(DWORD,LRESULT,LPARAM,或WPARAM)

LONG MAKELONG( WORD wLow, WORD wHigh );
WPARAM MAKEWPARAM( WORD wLow, WORD wHigh ); 
LPARAM MAKELPARAM( WORD wLow, WORD wHigh );
LRESULT MAKELRESULT( WORD wLow, WORD wHigh ); 

两个8位的数据(BYTE)合成16位的数据(WORD)

WORD MAKEWORD( BYTE bLow, BYTE bHigh ); 

从R(red),G(green),B(blue)三色得到COLORREF类型的颜色值

COLORREF RGB( BYTE byRed,BYTE byGreen,BYTE byBlue );

例如COLORREF bkcolor = RGB(0x22,0x98,0x34);

从COLORREF类型的颜色值得到RGB三个颜色值

BYTE Red = GetRValue(bkcolor); ///得到红颜色
BYTE Green = GetGValue(bkcolor); ///得到绿颜色
BYTE Blue = GetBValue(bkcolor); ///得到兰颜色

九、注意事项

假如需要使用到ConvertBSTRToString此类函数,需要加上头文件comutil.h,并在setting中加入comsupp.lib或者直接加上#pragma comment( lib, "comsupp.lib" )

后记:本文匆匆写成,错误之处在所难免,欢迎指正.

关于把BSTR类型数据转换成CString 类型数据时的问题?

当我在把BSTR类型数据转换成CString 或 “char* 类型”数据时,发现在BSTR类型字符串较短的情况下没问题,当较长时就会出现

内存读写错了。(在NT,2000下都测试是这样的。)

根据你所说:

1)字符串指针(char *)等已经被CString构造函数支持的数据类型 可以直接赋值 str = username;

2)当b 为BSTR类型时可以使用

char *p=_com_util::ConvertBSTRToString(b);

于是以下是对的:

CString cstr;
BSTR bstr;
....
cstr=com_util::ConvertBSTRToString(bstr);
...

可是当bstr非常大时(其实,较大时就会)就会出现内存读写错,不知何故。

此外我发现cstr=com_util::ConvertBSTRToString(bstr);

可以简化为 cstr=bstr; 但当bstr较大时同样出现这个问题。

请兄弟帮忙!急。谢谢!

如何转化((list*)fileip.bian)->liang


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27731-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 刘亦菲
      刘亦菲

      祖宗留给我们的江海疆土绝不容侵犯

    热点图片
    拼命载入中...