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 關注
- 151 瀏覽
添加回答
舉報
0/150
提交
取消
