WEB开发网
开发学院手机开发Symbian 开发 Symbian 文本编辑器(EDWIN) 阅读

Symbian 文本编辑器(EDWIN)

 2010-05-19 18:32:00 来源:WEB开发网   
核心提示:S60UI中提供有:1)文本编辑器、2)数值编辑器、3)密码编辑器、4)多字段数值编辑器,而文本编辑器还分为:1)无格式文本编辑器、2)全局编辑器、3)多格式编辑器其中这里介绍文本编辑器中的无格式文本编辑器(EDWIN):(没有格式化要求的一种纯文本编辑器)--类对象CEikEdwin 其中EDWIN结构体定义如下:

S60UI中提供有:1)文本编辑器、2)数值编辑器、3)密码编辑器、4)多字段数值编辑器。而文本编辑器还分为:1)无格式文本编辑器、2)全局编辑器、3)多格式编辑器其中这里介绍文本编辑器中的无格式文本编辑器(EDWIN):(没有格式化要求的一种纯文本编辑器)--类对象CEikEdwin 其中EDWIN结构体定义如下: STRUCT EDWIN { LONG flags=0; WORD width=0; WORD lines=1; WORD maxlength=0; AKN_EDITOR_EXTENSIONS } flags:编辑器标注属性,在CEikEdwin::TFlags枚举中定义 width:编辑器的宽度,默认设置的是像素值 lines:编辑器中所能显示文本的最大行数 maxlength:编辑器中所能容纳的最大字符数,如果超出GUI将自动给出提示最后一个是给资源定义的更多的扩展下面来简单介绍一下如何使用CEikEdwin这个控件:第一:从资源构建(静态构建方式) 首先需要我们在资源文件中定义CEikEdwin控件的属性,如下: RESOURCE EDWIN r_text_editor { flags=EAknEditorFlagDefault;//默认属性 width=200;//编辑器宽度 lines=40;//编辑器的最大行数 maxlength=50;//能容纳的最多字符数 } 这里我们在资源文件中定义好了CEikEdwin资源,我们就需要将资源加载到我们的程序中去。加载资源我们需要创建TResourceReader(资源读取器)//创建代码如下:在View的ConstructL中添加 void CTestAppView::ConstructL(const TRect& aRect) { // Create a window for this application view CreateWindowL(); //创建资源文件阅读对象 TResourceReader reader; iCoeEnv->CreateResourceReaderLC(reader,R_TEXT_EDITOR); //创建CEikEdwin对象 iEdtor = new(ELeave)CEikEdwin; //设置父窗口 iEdtor->SetContainerWindowL(*this); iEdtor->ConstructFromResourceL(reader); iEdtor->SetFocus(ETrue);//设置控件当前处于选中状态--可以对其进行操作 iEdtor->ActivateL();//设置空间激活 CleanupStack::PopAndDestroy();//清除资源--reader } 然后和S60控件一样我们需要在其中实现: TInt CountComponentControls() const;//控件数量 CCoeControl*ComponentControl(TInt aIndex)const;//获取应该处理哪个控件 virtual void SizeChanged();//屏幕大小改变--设置重绘事件它将调用重绘通过上面函数知道那个控件需要重绘这里我们基本完成了CEikEdwin的创建并加载;但是这里我们并不能执行输入事件。首先:我们要重写 TKeyResponse CMyTestAppView::OfferKeyEventL(const TKeyEvent & aKeyEvent,

1 2  下一页

Tags:Symbian 文本 编辑器

编辑录入:coldstar [复制链接] [打 印]
赞助商链接