Symbian 学习之 常用标准控件--编辑框
2010-03-11 16:08:00 来源:WEB开发网1.使用编辑框
第一步:在MyEditorContainer.h中定义编辑框指针:
//需要增加的函数
class CEikDateEditor;
.............
private: //data
CEikDateEditor* dateEditor;
在视图或控件类的源代码中,在MyEditorContainer.cpp中的ConstructL()函数中创建并显示控件,参考代码如下:
//需要增加的头文件
#include 《coemain.h》 //iCoeEnv
#include 《barsread.h》 //for TResourceReader
#include 《eikmfne.h》 // for CEikDateEditor头文件
#include 《eikedwin.h》//普通编辑框的类,此程序可以不用
#include 《Myeditor.rsg》//定义资源文件
..............
TResourceReader reader;
iCoeEnv-》CreateResourceReaderLC( reader, R_MY_DATE_EDITOR);
dateEditor = new(ELeave)CEikDateEditor;
dateEditor-》SetContainerWindowL(*this); //设置关联的窗口
dateEditor-》ConstructFromResourceL(reader);); //从资源文件创建编辑框
CleanupStack::PopAndDestroy(); //将TResourceReader弹出并销毁
dateEditor-》SetBorder(TGulBorder::ESingleBlack);
dateEditor-》SetExtent(TPoint(10,50),dateEditor-》MinimumSize());//设置位置
第二步:在MyEditor.rss中定义资源文件
RESOURCE DATE_EDITOR r_my_date_editor
{
minDate=DATE{year=1000;};
maxDate=DATE{year=2000;};
flags=0;
}
第三步:在MYEDITOR.RSG中定义资源的宏,系统自动生成
#define R_MY_DATE_EDITOR 0x8f6f007
第四步:在MyEditor.mmp加入库文件
LIBRARY eikctl.lib
需要bldmake bldfiles -----abld makefile vc6 重新编译运行
2.编辑框的属性
S60普通编辑框在uikon.rh文件中的定义如下:
STRUCT EDWIN
{
LONG flags=0;
WORD width=0;
WORD lines=1;
WORD maxlength=0;
AKN_EDITOR_EXTENSIONS
}
其中flags用于指定编辑框的属性标志,width用于指定宽度,以字符为单位。lines指定行数;maxlength指定最多允许输入的字符数。
赞助商链接