Jon*_*nek 1 unicode winapi localization mfc-feature-pack
我有一个用MBCS编译的MFC应用程序.我们还使用MFC Feature Pack中的CMFCMenuBar来显示我们的菜单.
我正在尝试使用以下代码将unicode字符添加到我的菜单中(来自此问题)
MENUITEMINFOW mi;
mi.cbSize = sizeof(MENUITEMINFOW);
mi.fMask = MIIM_ID | MIIM_TYPE;
mi.fType = MFT_STRING;
mi.wID = 34503;
WCHAR text[128];
wcscpy_s(text,L"\u573F");
mi.dwTypeData = text;
InsertMenuItemW(hMenu,1,true,&mi);
Run Code Online (Sandbox Code Playgroud)
运行正常,InsertMenuItemW的返回码为1,但我在菜单中得到一个问号而不是圿
为什么我会收到问号?
我正在运行Windows7旗舰版
您的程序正在创建MBCS窗口,而不是Unicode窗口.因为它使用CreateWindowExA()而不是CreateWindowExW().使用Spy ++验证这一点.使用其finder工具在程序中选择一个窗口,查看其属性.如果使用CreateWindowExW()创建窗口,则为Window Proc标记"(Unicode)".
是时候转向Unicode了.
| 归档时间: |
|
| 查看次数: |
413 次 |
| 最近记录: |