现在的位置: 首页 > 综合 > 正文

不通过rss文件,程序手动构建CEikEdwin的问题

2013年10月09日 ⁄ 综合 ⁄ 共 793字 ⁄ 字号 评论关闭

问题:
我不想用rss来构建CEikEdwin,因为CEikEdwin会经常改变输入限制。所以考程序来设置比较好。
但我一个只让输入英文的输入框构建如下:
iPSEdwin = new (ELeave) CEikEdwin;
iPSEdwin->SetContainerWindowL(*this);
iPSEdwin->ConstructL(EAknEditorFlagDefault,16,16,1);
iPSEdwin->SetInputCapabilitiesL(TCoeInputCapabilities::EWesternAlphabetic );

可运行后发现,只能输入数字,右上脚的输入法提示也没有了。
但另外一个只让输入数字的输入框构建如下:
iIDEdwin = new (ELeave) CEikEdwin;
iIDEdwin->SetContainerWindowL(*this);
iIDEdwin->ConstructL(EAknEditorFlagDefault,16,16,1);
iIDEdwin->SetInputCapabilitiesL(TCoeInputCapabilities::EWesternNumericIntegerPositive);
这就是正常的,只有数字输入,右上角的输入法提示也是正确的。

我该如何设置CEikEdwin的输入限制,不通过rss来构建

解决:
可以使用下面的代码实现只能输入字母的限制:

Code:
iPSEdwin = new (ELeave) CEikEdwin;
iPSEdwin->SetContainerWindowL(*this);
iPSEdwin->ConstructL(EAknEditorFlagDefault,16,16,1);
iPSEdwin->SetAknEditorFlags(EAknEditorFlagLatinInputModesOnly);

抱歉!评论已关闭.