Symbian开发——编辑框(CEikEdwin)
来源:互联网 发布:中国碳交易 数据 编辑:程序博客网 时间:2024/04/30 13:12
S60中的编辑框控件有很多种(普通编辑框、全局文本、IP地址、日期等等),这里只介绍普通编辑框——CEikEdwin。
一、创建编辑框
创建编辑框有两种方法:
1. 通过资源创建
1)资源定义
RESOURCE EDWIN r_example_editor
{
flags = EEikEdwinWidthInPixels;// 以像素为单位
width = 240;// 控件宽度
lines = 2;// 行数
maxlength = 1024;// 文本最大长度
}
2)生成代码
TResourceReader reader;
iCoeEnv->CreateResourceReaderLC( reader, R_EXAMPLE_EDITOR );
iEditor = new ( ELeave ) CEikEdwin;
iEditor->SetContainerWindowL( *this );
iEditor->ConstructFromResourceL( reader );
CleanupStack::PopAndDestroy(); // Resource reader
// 之后就可以对iEditor对象进行操作。比如SetFocus,SetExtent等。
2. 通过代码创建
代码如下:
iEditor = new (ELeave) CEikEdwin;
iEditor->SetContainerWindowL(*this );
iEditor->ConstructL(EEikEdwinWidthInPixels, 240, 1024, 2);
// 之后可以对iEditor对象进行操作
// iEditor->SetFocus( ETrue );
二、更新编辑框文本
不能使用向CEikLabel的SetText函数,编辑框的文本是有CPlainText类来编辑的。例如
_LIT( KLabelRecvData, "Display recv data." );
CPlainText *text = iEdwinRecvData->Text();
text->InsertL( 0, KLabelRecvData );
更多的操作,比如删除,追加文本利用SDK中的API都可以实现。也可参考Nokia论坛:http://wiki.forum.nokia.com/index.php/Using_CEikEdwin_Text_Editor
三、可能遇到的问题
在最开始使用编辑框时,你可能会遇到下面问题:
1)不响应键盘输入
在OfferKeyEventL函数中调用CEikEdwin的OfferKeyEventL函数。比如:
TKeyResponse CEditControlAppViewContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent,
TEventCode aType)
{
return iEditor->OfferKeyEventL( aKeyEvent, aType );
}
2)调用了OfferKeyEventL函数仍然不响应键盘输入
一般都是在复合控件中使用编辑框,那么复合控件一定在一个View中。
我最开始遇到的问题是:S60 3rd新建的UI Application程序框架中,包含×××AppUi类和×××AppView两个类。实际上AppView继承的是CCoeControl类。我在这个类中添加一个编辑框,程序运行后,编辑框不响应键盘输入。
解决方法:我将×××AppView改成×××AppViewContainer类,然后创建一个继承与CAknView的×××AppView类,这样一个View对应一个Container,这样在Container中的编辑框可以正常响应键盘输入了。
- Symbian开发——编辑框(CEikEdwin)
- Symbian CEikEdwin 输入框使用总结
- Symbian CEikEdwin 输入框使用总结
- Symbian设置CEikEdwin字体
- Symbian设置CEikEdwin字体
- Symbian设置CEikEdwin字体
- Symbian平台,CEikEdwin文本框研究
- Symbian平台,CEikEdwin文本框研究
- Symbian平台,CEikEdwin文本框研究
- Symbian开发——Symbian开发知识(转)
- symbian CEikEdwin文字显示 汇总(转帖并增加)
- symbian 强制打开CEikEdwin关联的虚拟键盘
- symbian 编辑框 如何设置默认输入法?
- 关于设置Symbian编辑框默认输入法
- Symbian开发——中文界面
- Symbian开发——模拟键盘按键
- Symbian开发——程序后台运行
- Symbian开发——Hello World
- 亚马逊收购iPhone电子书开发商
- POJ 2325 Persistent Numbers
- MonoRail学习笔记十五:文件上传
- MonoRail学习笔记十六:AJax在MonoRail中的使用
- XML和HTML常用转义字符
- Symbian开发——编辑框(CEikEdwin)
- 囧!揭露上海联通可刷公交卡手机!!!
- MonoRail学习笔记十七:TransformFilter的使用
- 云计算论文读后感【1】- 什么是云计算
- MonoRail学习笔记十八:在VM中可以使用哪些系统变量
- 虚拟机的安装及虚拟系统的安装
- 云计算论文读后感【2】- 云计算的诱人之处
- MonoRail学习笔记十九:可重复使用组件ViewComponents的使用
- MonoRail学习笔记二十:资源文件的使用和多语言支持