在传统应用程序框架下,用LISTBOX创建的滚动条这,但是在多视图框架下,就显示不出来,很是郁闷,找了一些资料终于解决了
在view的DoActivateL中,如果ListBox创建在AppUi()->AddToStackL( *this, iContainer );前,则滚动条显示不出来,因此,ListBox的创建不能在Container的ConstructL中,或者至少说ScrollBar的创建不能在ConstrucL中。Symbian SDK中的例子创建ListBox的顺序就是这样的。 void CView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/) { ASSERT(!(iContainer)); iContainer = CContainer::NewL(ClientRect(),this); iContainer->SetMopParent(this); // Adds container to view control stack. AppUi()->AddToStackL( *this, iContainer ); iContainer->MakeVisible(ETrue); iContainer->CreateListBoxL(); }