繁体   English   中英

在MBCS类型项目中使用UNICODE支持编辑控件

[英]Edit Control with UNICODE support in MBCS type project

我有支持MBCS(多字节字符集)的旧MFC应用程序。 我有一个与该控件相关的Edit控件和CString。现在,我希望仅此控件应支持UNICODE(UTF-16)字符集。

编辑:

在头文件中:

CString m_SerialNO;

在cpp文件中:

DDX_Text(pDX, IDC_EDIT_SERIAL_NO, m_SerialNO);

我无法将项目的字符集属性从“ Use Multi-Byte Character Set更改为“ Use Unicode Character Set

只要使用CreateWindowA创建了Edit控件,所有消息都将通过当前代码页进行过滤和转换...即使您使用SetWindowTextW或WM_SETTEXTW也会进行转换。

实际上很简单:

// macro to get buffer size in declare character type
#define _countof(array) (sizeof(array)/sizeof(array[0]))

// text buffer must be in unicode
WCHAR szBufferW[1024];

// retrieve unicode text in MCBS build dialog
::GetDlgItemTextW(this->m_hWnd, IDC_EDIT1, szBufferW, _countof(szBufferW));

// display unicode text in in MCBS build dialog
::SetDlgItemTextW(this->m_hWnd, IDC_EDIT2, szBufferW);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM