读书人

PostMessageWM_CHAR怎么发送汉字

发布时间: 2012-04-14 17:14:21 作者: rapoo

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,一次发完

读书人网 >C++

热点推荐