Symbian 中文显示问题
2010-06-22 02:54:00 来源:WEB开发网提出问题:
建立一个名为HelloWorld的GUI应用程序
进入程序后点击菜单项“Test”,弹出内容为”HelloWorld”的对话框,如果想将显示内容改为”中国”两个字
现有三种方法可以解决:
解决方法:
第一种方法:
一、HelloWorld.loc做出以下几个改动
1、在其中增加一行
CHARACTER_SET UTF8
2、将#define R_MESSAGE_TEXT_STRING "HelloWorld";
改为 #define R_MESSAGE_TEXT_STRING "中国";
3、最终将HelloWorld.loc另存为(UTF-8 - 无BOM)编码,,不要另存为UTF-8, 否则编译通不过,具体原因不清楚, 希望有人补充下
二、HelloWorldAppui.cpp::HandleCommandL()中有以下代码,现做一定解释
// Load localized message from the resource file 从资源文件中读取文本
HBufC* message = CEikonEnv::Static()->AllocReadResourceLC(R_MESSAGE_TEXT);
// Show information note dialog 执行对话框
CAknInformationNote* note = new (ELeave) CAknInformationNote;
note->ExecuteLD(message->Des());
// 弹栈并销毁
CleanupStack::PopAndDestroy(message);
另外 从资源文件中读取文本 还有两种方法
1、将HBufC* message = CEikonEnv::Static()->AllocReadResourceLC(R_MESSAGE_TEXT);
改为 HBufC* message = iEikonEnv->AllocReadResourceLC(R_MESSAGE_TEXT);
2、HelloWorldAppui.cpp 中增加 #include
将HBufC* message = CEikonEnv::Static()->AllocReadResourceLC(R_MESSAGE_TEXT);
改为HBufC* message = StringLoader::LoadLC(R_MESSAGE_TEXT);
三、补充
1、使用CEikonEnv::Static()->AllocReadResourceLC(R_MESSAGE_TEXT);
需要#include
我们发现在mmp中有了eikcore.lib,但在整个项目里面没有发现
我们看下
#include "HelloWorldAppui.h" 中有
#include
#include
更多精彩
赞助商链接