C++ Win32api 从用户输入输出 Unicode

C++ Win32api output Unicode from user's input

我意识到可能会有类似的问题,但我现在真的卡住了一段时间。我正在使用 C++ 和 Win32 API.

在 Windows 10 上运行

我需要读取十六进制代码的用户文本框,例如 ѰU+0470,尽管 'U+' 不会出现。收到这个值后,我需要取代码并打印相应的符号。

使用下面的代码我可以打印任何 Unicode 符号:

createWindow(L"Static", L"\u2230", WS_VISIBLE | WS_CHILD, 10,10, 190,40, hWnd, NULL,NULL,NULL);

我还可以使用 GetWindowText() 阅读文本框。但是,我不知道如何获取用户的输入 0470 并将其作为 Unicode 字符打印在文本框中。

您需要将字符串 L"0470" 转换为数字。这是一个以 16 为基数的数字,因此您可以使用 <cwchar> 中的 std::wcstoul。然后您可以将此数字转换为 WCHAR。我假设您知道如何将单个字符转换为字符串。