簡體   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