Symbian 下菜单的应用开发技巧
2010-03-13 20:25:00 来源:WEB开发网)
注意,如果使用的是view系统结构,那就用使用view自己的菜单系统,应如下操作
iMyView->MenuBar()->SetMenuTitleResourceId(MENU_BAR_RESOURCE_ID)
CHANGING MENU ITEMS
还可以改变个别菜单项目,这使得我们可以随时随地的添加或者是删除菜单项。
应用程序UI应该重载下列虚函数:
void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
这个函数应该在什么情况下调用哪?当所有secitons已被加入到menu,menu pane object已经被建立后。
应用程序UI还可以重载下面这个虚函数:
void DynInitMenuBarL(TInt aResourceId, CEikMenuBar* aMenuBar)
Avkon 滚动指示器在softky pane的中间,此外,softkey pane会因为"popped-up" controls的出现或消失而创建或注销掉。在使用滚动的controls和当前可见滚动指示器之间的通信是通过在系统中建立的CAknEnv,被softky pane和 CEikScrollbarFrame使用的系统来管理的。
这个机制是对编程者隐藏的,一般来说,我们不需要担心这个scrollers。
保证正确的scrolling控制
1,Using Listboxes with CAknPopupList
void CSimpleAppUi::CreatePopupSelectionL(TInt aItems, TBool aTile)
{
CEikTextListBox* list = new(ELeave)CEikTextListBox;
CleanupStack::PushL(list);
CAknPopupList* popupList = CAknPopupList::NewL(List,
R_AVKON_SOFTKEYS_OK_BACK); //softkey pane created here
CleanupStack::PushL(popupList);
list->ConstructL(popupList, CEikListBox::ELeftDownInViewRect);
//scroller referennce fetched from (now existing) softkey pane here:
list->CreateScrollBarFrameL(ETrue);
//Set the visibility of the scrollbars (This code may become redundant)
list->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff,
CEikScrollBarFrame::EAuto);
插入代码
popupList->ExecuteLD(); //Popup selection list is put up
插入代码
CleanupStack::Pop(); //popuplist
更多精彩
赞助商链接