WEB开发网
开发学院手机开发Symbian 开发 基于控件的传统symbian OS架构之调试小结 阅读

基于控件的传统symbian OS架构之调试小结

 2010-05-31 20:07:00 来源:WEB开发网   
核心提示:??????????????????????????????????????????CCoeControl* CHelloWorldBasicAppView::ComponentControl(TInt aIndex) const{switch(aIndex){case 0:return iLabel;case 1:r

??????????????????????????????????????????

CCoeControl* CHelloWorldBasicAppView::ComponentControl(TInt aIndex) const

{

switch(aIndex)

{

case 0:

return iLabel;

case 1:

return iToDoLabel;

//多了下面两行

case 2:

return iAppView2;

default:

return NULL;

}

}

????????????????????????????????????

CHelloWorldBasicAppView::~CHelloWorldBasicAppView( )

{

if(iLabel)

{

delete iLabel;

iLabel=NULL;

}

if(iToDoLabel)

{

delete iToDoLabel;

iToDoLabel=NULL;

}

//多了下面几行

if(iAppView2)

{

delete iAppView2;

iAppView2=NULL;

}

}

问题:

1、 draw()方法,不需要做任何改变。我开始想,可能需要加一个iAppView2.DrawNow()之类的代码,启动绘制复合控件iAppView2的代码,实际是多此一举的。系统会自动运行复合控件的draw()等四个方法。

2、复合控件以及复合控件中的两个Label子控件显示的坐标问题,一定记住,它们都是相对于窗口左上角的坐标位置,我曾经将两个子控件的坐标设为相对于它们所属的复合控件了,结果因为超出屏幕范围,没有显示出来。另外屏幕的范围大约在(0,0)--(120,150)之间,如果设置坐标时超出这个范围,就显示不出来了。

当然这只是一些最基本的架构问题,也没有显示一些比较复杂的控件,在这里只是起个熟悉传统程序架构的作用,不正之处,还请各位网友指正。

上一页  3 4 5 6 7 8 

Tags:基于 控件 传统

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