Symbian FEP开发模式
2010-05-31 19:57:00 来源:WEB开发网4.浮动窗口
浮动窗口一般悬浮在作为输人对象的窗口上面,显示用户输入的输入码以及输入码对应的候选字等,它由程序员编程来控制它的显示时机和显示位置.而且不应该获得焦点。浮动窗口的功能是用来显示候选信息以及提示信息。为了能使窗口浮动于应用程序之上需要在其构造函数中调用如下语句:
DrawableWindow()->SetOrdinalPosition(0,FCoeWinPriorityFep);
在浮动窗口上书写信息需要重载CCoeContml的绘图函数:
void Draw(const TRect&aRecl)coast;
在函数中可以通过对CWindowGc实例的获取:
CWindowGc&gc=SystemGc();来进行窗口颜色与文字的控制。窗口的人小及位置则由Draw->ableWindow()->SetExtent()函数来控制。
5.内码转换(GB-UTF8)
对于编写程序来说.可以操作的汉字编码方式有多种:
GBK、GB2312、UNICODE、UTF-8等方式。Symbian OS仅支持UNICODE的编码方式。因此,当程序所处理的汉字字符不是UNICODE,而是GBK或者GB2312时,我们就要进行GBK或GB2312到UNICODE的装换。
下面的程序实现了这一转换:
GBTOUnicode(coast Trext848tr,TDes&aBuf)
{
CCnvCharacterSetConverter*converter=CCnvCharacterSetConverter::NewLC();
//检测是否有其它编码转换工作在进行
if(converter->PrepareToConvertToOrFmmL(KCharacterSetldantifireGB2312,
∥如果是GBK.则CharactelSHldentifierGb2312改为KCharaeter
SetldenrifierGb(CEikonEnv::Static())->FsSession())!=CCnvCharacter
SetConvet|ler::EAvailable)
User;;leave(KErrNoISupported);
Tint state=CCnvCharacterSetConverier::KStateDefault;
TPtrC8 source(str);
HBufC*hbuf=HBufC::NewL(sourceLength());
TPtrl6 ptr=hbuf->Des();
if(CCnvCharacterSetConverter::EErrorinformedlnput==converter-> ConvertToUnicode(ptr,Source,state))
User::Leave(KErrArgumem);
aBuf.Copy(plr);
CleanupStack::PopAndDestroy();//Buf返回的就是数据的UNICODE编码方式
delete hhuf;
}
支持FEP的基本组件和基础类
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››Symbian S60 SocketConnection参数
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››Symbian乏力:2010年诺基亚悲情大事记
- ››Symbian三大升级开启2011年新战略
- ››Symbian/Android/iOS/WM安装包对比
- ››Symbian一个活动对象的测试例子
- ››Symbian ListBox控件
- ››Symbian下自动切换SDK的批处理代码
更多精彩
赞助商链接