list ,grid,等都自带滚动条。
要是在一个Container中自绘控件,需要添加滚动条的话,如下:
.h
CEikScrollBarFrame* iScrollBarFrame;
TEikScrollBarModel iModel;
.cpp
iModel = TEikScrollBarModel(10, 0, 0);
iScrollBarFrame = new (ELeave) CEikScrollBarFrame(this, NULL, ETrue);
iScrollBarFrame->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff,
CEikScrollBarFrame::EAuto);
iScrollBarFrame->Tile(&iModel);
iScrollBarFrame->DrawScrollBarsNow();
NOTE:
1 滚动条添加在屏幕的左边,所以client rect 要留出一部分给滚动条,要不会被覆盖。
2 这样添加的滚动条是不响应按键的,需要自己计算,再需要的时候重绘。