hi vitor! and everyone!
The scrollbars in my grid do not get displayed. I have an AppUi, a View, and a Container. I have SetMopParent on my container but still, no scrollbars.
In my AppUi, i have:
Code:
void CSimpleGridAppUi::ConstructL()
{
BaseConstructL();
CSimpleGridView* gridView = new (ELeave) CSimpleGridView();
CleanupStack::PushL(gridView);
gridView->ConstructL();
CleanupStack::Pop();
AddViewL(gridView);
ActivateLocalViewL(gridView->Id());
}
In my View, i have:
Code:
void CSimpleGridView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
{
if (!iView)
{
iView = new (ELeave) CSimpleGridContainer;
iView->SetMopParent(this);
iView->ConstructL(ClientRect());
AppUi()->AddToStackL(*this, iView);
}
}
In my Container, i have:
Code:
void CSimpleGridContainer::ConstructL(const TRect& aRect)
{
CreateWindowL();
// Construct the grid
iGamesGrid = new (ELeave) CAknGrid;
iGamesGrid->SetContainerWindowL(*this);
iGamesGrid->UpdateScrollBarsL();
// Observe the grid
iGridM = new (ELeave) CAknGridM;
iGamesGrid->SetModel(iGridM);
iGamesGrid->ConstructL(this, EAknListBoxSelectionGrid);
iVerticalOrientation = ETrue;
iTopToBottom = ETrue;
iLeftToRight = ETrue;
iNumOfColumns = 3;
iNumOfRows = 3;
iNumOfItems = -1;
iVerticalScrollingType = CAknGridView::EScrollIncrementLineAndLoops;
iHorizontalScrollingType = CAknGridView::EScrollIncrementLineAndLoops;
TBuf<10> emptyText;
emptyText.Copy(_L("Empty!"));
iGamesGrid->SetEmptyGridTextL(emptyText);
iGamesGrid->SetRect(aRect);
iSizeOfItems.iWidth = (aRect.iBr.iX - aRect.iTl.iX) / iNumOfColumns;
iSizeOfItems.iHeight = (aRect.iBr.iY - aRect.iTl.iY) / iNumOfRows;
SetGridLayoutL();
//create resource for grid (do not load from the HRF file)
iIcons = new (ELeave) CAknIconArray(8);
CleanupStack::PushL(iIcons);
iGamesGrid->ItemDrawer()->FormattedCellData()->SetIconArrayL(iIcons);
CleanupStack::Pop(iIcons);
SetRect(aRect);
ActivateL();
iGamesGrid->MakeVisible(ETrue);
iGamesGrid->SetFocus(ETrue);
iGamesGrid->ActivateL();
iGamesGrid->DrawNow();
iFileSaver = CMdaImageBitmapToFileUtility::NewL(*this);
ListFiles(ELoad);
}
void CSimpleGridContainer::SizeChanged()
{
// Do not use MinimumSize() here as it does not work when scrolling
// through the grid
if (iGamesGrid)
{
iGamesGrid->SetExtent (KGridPosition,Rect().Size());
}
}
Please help, because i have no idea why the scrollbar doesnt get displayed. :( I could send the whole project if you want.. thank you very much..