为什么我动态创建的网格只显示了一个scroll bar?

liao05050075 2009-03-20 01:04:48
我刚学symbian开发,最近看得我头都大了,都快给它整疯了。。。
言归正传:
我用如下方法创建一个grid,但结果程序只在屏幕右边显示了一个scroll bar!!有谁知道原因啊?!我整了一个晚上了。。。
1. 创建 data model,
iGridModel = new (ELeave) CAknGridM;
2. 创建 grid,
iGrid = new (ELeave) CAknGrid;
3. 将 model 与 grid 关联起来,
iGrid->SetModel( iGridModel );
4. 构造 grid,并将 grid 与父控件关联起来,
iGrid->ConstructL( this, EAknListBoxSelectionGrid );
5. 设置 grid 的布局和滚动,
iGrid->SetLayoutL( EFalse, ETrue, ETrue, 3/*rows*/ , 3/*columns*/, TSize( 70, 70 )/*cellsize*/, 10/*wspace*/, 10/*hspace*/ );
iGrid->SetPrimaryScrollingType( CAknGridView::EScrollIncrementLineAndLoops );
iGrid->SetSecondaryScrollingType( CAknGridView::EScrollIncrementLineAndLoops );
AknListBoxLayouts::SetupStandardGrid( *iGrid );
6. 向 model 添加数据,也就是 grid 的 item,
iItemArray = static_cast<CDesCArray*>( iGridModel->ItemTextArray() );

RBuf item;
CleanupClosePushL( item );
item.Create( aItemName );
item.Format( KMmMplListFormat, aIconIndex, &item );
iItemArray->AppendL( item );
CleanupStack::Pop( &item );

iGrid->HandleItemAdditionL();
...全文
150 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
birdie428 2009-09-12
  • 打赏
  • 举报
回复
我也是的!不知道怎么搞,搞了两天了!有没有哪个高手给个例子呀
beyondma 2009-03-21
  • 打赏
  • 举报
回复
ScrollBarFrame没看到你调这句啊
wertcsdn 2009-03-20
  • 打赏
  • 举报
回复
iGrid->CreateScrollBarFrameL(ETrue);
iGrid->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff,
CEikScrollBarFrame::EAuto);//第一个参数:水平滚动关闭 ,第二个参数垂直滚动自动
liusichen_0 2009-03-20
  • 打赏
  • 举报
回复
不会,帮顶一下

3,120

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧