PostMessage,WM_CHAR如何发送汉字?
PostMessage,WM_CHAR如何发送汉字?
[解决办法]
HWND hWnd=::GetDlgItem(this->GetSafeHwnd(),IDC_EDIT1);
WPARAM wP=(WPARAM)(_T('好'));
::PostMessage(hWnd,WM_CHAR,wP,0);
做了个小试验, 文本框接收到 的汉字是:煤
不是好
原因 肯定是编码的问题。。。。
CEidt::OnChar 每次处理一个字符, 而PostMessage发送了 好的 十六进制的部分给文本框
所以没哟正确显示!!1
[解决办法]
windows里面汉字编码一般用gbk或者utf16
如果是gbk,那么需要发两次,先发高位再发低位,如果用unicode,一次发完