首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MFC应用程序到Unicode/MBCS的分段转换

MFC应用程序到Unicode/MBCS的分段转换
EN

Stack Overflow用户
提问于 2009-08-24 14:39:48
回答 4查看 2.3K关注 0票数 5

我有一个大型MFC应用程序,我正在扩展,以允许多语言输入.目前,我需要允许用户在单个对话框的编辑框中输入Unicode数据。

对于整个应用程序,是否有一种不打开UNICODE或MBCS的方法来做到这一点?我只需要一小部分的应用程序转换在目前。是否有可能做到这一点,如果有,怎么做?

澄清:我可以使用::GetWindowTextW()将Unicode信息从窗口中提取出来。我试图弄清楚如何允许用户在窗口中输入Unicode文本。当前,字符用户在windows之外键入-1252代码页显示为'?‘。有办法解决这个问题吗?

EN

回答 4

Stack Overflow用户

发布于 2009-08-24 15:52:14

要允许CEdit显示Unicode字符,您应该使用CreateWindowW函数创建它。我刚在ANSI MFC程序中测试过。

代码语言:javascript
运行
复制
// allows Unicode characters
CreateWindowW( L"EDIT", L"", WS_CHILD|WS_VISIBLE, 10, 10, 50, 20, GetSafeHwnd(), 0, 0, 0 );

// shows Unicode characters as ?
CreateWindow( "EDIT", "", WS_CHILD|WS_VISIBLE, 10, 10, 50, 20, GetSafeHwnd(), 0, 0, 0 );

您可以在对话框的OnInitDialog函数中手动创建所有编辑框。然后,将它们子类为具有Unicode支持的自定义CMyEdit类。

票数 4
EN

Stack Overflow用户

发布于 2009-08-24 15:58:50

可以用丰富的编辑控件替换这些编辑框吗?然后,您甚至可以在非Unicode构建中输入国际字符;在内部,它们将被rtf编码,但是当您从控件中流出文本时,您可以使用SF_UNICODE格式获取Unicode表示形式。

票数 2
EN

Stack Overflow用户

发布于 2009-08-24 15:13:14

这张PowerPoint幻灯片可能会让你感兴趣--它有点旧(2000年),但它谈到了如何将程序转换成混合的ANSI/Unicode。

案例研究:将MFC应用程序移植到Unicode

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1322801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档