if ((wParam = (WPARAM) CharUpper ((TCHAR *) wParam)) == VK_RETURN)首先(TCHAR *) wParam里的wParam是子窗口ID(被赋予ASCII码的十进制100,也就是d)那么这里的强制转换类型(TCHAR *) 是否就把100 变成'd'?然后用CharUpper 函数把d转化为大写的D,然后再用 (WPARAM)强制类型转换把大写D 再换成相应的ASCII码68? 然后再把68赋给wParam 然后再做VK_RETURN的对比?还有种情况,比如CharUpper ()里放入的是个'=' 号呢? 或者是回车呢? 那么这个转换会如何?
2 回答
ITMISS
TA贡献1871条经验 获得超8个赞
我给你测试了一下
#include
#include
using namespace std;
int main()
{
char testChar='a';
LPTSTR s=CharUpper((TCHAR *)testChar);
char b=(WPARAM)s;
cout<<b;
system("pause");
return 0;
}
输出A;当testChar是‘=’时,输出还是‘=’
经测试发现只有当时小写字母时,输出才是大写字母,其他的字符不会发生变化- 2 回答
- 0 关注
- 179 浏览
添加回答
举报
0/150
提交
取消
