Symbian 学习之基于视图的应用开发:实现视图
2010-03-13 20:24:00 来源:WEB开发网1.视图类的定义
CListView在ListView.h中定义,代码如下:
const TUid KViewId={1};
class CListView:public CAknView
{
public:
void ConstructL();
~CListView();
public:
TUid Id() const;
void HandleCommandL(TInt aCommand);
void HandleClientRectChange();
private:
void DoActivateL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId,
const TDesC8& aCustomMessage);
void DoDeactivate();
private:
CListViewContainer* iContainer;
}
其中 KViewId:该视图在本应用程序中的惟一标识。
ConstructL();第二阶段构造函数
Id();从MCoeView继承而来的函数,负责返回视图的标识。
HandleCommandL():用于处理菜单命令
HandleClientRectChange():用于响应客户区域的变化
DoActivateL():在视图激活之前系统会调用这个函数
DoDeactivate();当由本视图切换到其他视图时,系统会调用本视图的DoDeactivate()函数
iContainer():指向视图容器对象的指针
2.使用资源文件构造视图
视图的构建是在视图类的ConstructL()函数中实现的,代码如下:
void CListView::ConstructL()
{
BaseConstructL(R_MULTIVIEW_VIEW1);
}
BaseConstructL(TInt aResId=0)的参数是一个整型的值,即视图的资源ID。视图资源是在工程资源文件(.rss)中用AVKON_VIEW资源结构定义的。如下所示:
RESOURCE AVKON_VIEW r_multiview_view1
{
hotkeys=r_multiview_hotkeys;
menubar=r_multiview_menubar_view1;
cba=R_AVKON_SOFTKEYS_SELECTION_LIST;
}
RESOURCE关键字代表资源定义的结构,AVKON_VIEW是视图资源的关键字,后面是资源ID值。视图资源中可以定义热键(hotkeys)、菜单栏(menubar)和命令按钮栏(CBA,Command Button Area)。
菜单栏定义如下:
RESOURCE MENU_BAR r_multiview_menubar_view1
{
更多精彩
赞助商链接