gpt4 book ai didi

c++ - 为什么我不能在 Win32 中启用 unicode Edit 控件?

转载 作者:太空宇宙 更新时间:2023-11-04 11:45:25 31 4
gpt4 key购买 nike

我将 Character set 设置为 Use Unicode Character Set 但是当显示窗口时,它的标题仍然是方 block 字符。我该如何解决?谢谢!

enter image description here

#include <windows.h>

LRESULT CALLBACK WinProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nShowCmd)
{
WNDCLASSEX wClass;
ZeroMemory(&wClass, sizeof(WNDCLASSEX));
wClass.cbClsExtra = NULL;
wClass.cbSize = sizeof(WNDCLASSEX);
wClass.cbWndExtra = NULL;
wClass.hbrBackground = (HBRUSH)COLOR_WINDOW;
wClass.hCursor = LoadCursor(NULL, IDC_ARROW);
wClass.hIcon = NULL;
wClass.hIconSm = NULL;
wClass.hInstance = hInst;
wClass.lpfnWndProc = (WNDPROC)WinProc;
wClass.lpszClassName = L"Window Class";
wClass.lpszMenuName = NULL;
wClass.style = CS_HREDRAW | CS_VREDRAW;

RegisterClassEx(&wClass);

HWND hWnd = CreateWindowEx(
NULL,
L"Window Class",
L"/ce 但是,这样做并不能保证在对话框编辑器创建控件之前将加载所需的库。",
WS_OVERLAPPEDWINDOW,
200, 200, 300, 0, NULL, NULL, hInst, NULL);
ShowWindow(hWnd, nShowCmd);

MSG msg;
ZeroMemory(&msg, sizeof(MSG));
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return 0;
}

LRESULT CALLBACK WinProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
break;
}
return DefWindowProc(hWnd, msg, wParam, lParam);
}

最佳答案

我将此作为答案发布,只是因为我无法在评论中添加图片......

我只是完全按照你的方式做了,相同的代码,Windows 8.1 x64 VS2012 UK English,这是我得到的结果:

result

除非您忽略将源文件另存为 UNICODE 文件的提示,否则您应该会得到相同的结果 - 我看不出有任何其他差异,除非您在 Region/Language 部分进行了一些奇怪的设置控制面板。

如果问题仍然存在,则必须仔细检查所有设置,并可能发布更多代码和/或转储编译器命令行。

关于c++ - 为什么我不能在 Win32 中启用 unicode Edit 控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19999338/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com