Series 60 3rd---调整list box位置和大小后造成与scroll bar不一致的解决办法
来源:互联网 发布:excel部分数据求和不了 编辑:程序博客网 时间:2024/05/22 13:03
S60 2nd FP3以后标准控件中的scroll bar不再是屏幕下方的两个三角形了,而换成了类似Windows中scroll bar的样式,这种样式更直观,用户感觉确实更好.然而在移植一个项目到S60 3rd上时碰到了这个问题:调整list box位置和大小后造成与scroll bar不一致.比如:通过对list box调用SetExtent()使其不占满客户区,这时scroll bar的大小并没有改变,造成了list box与scroll bar的错位. 解决办法: 首先通过list box基类CEikListBox::ScrollBarFrame()得到滚动条框架对象CEikScrollBarFrame类型的指针,然后通过CEikScrollBarFrame::GetScrollBarHandle()得到某个滚动条对象CEikScrollBar类型的指针,最后通过CEikScrollBar::SetExtent()调整滚动条的位置就可以了.
//Set the position of listbox
void CXXXContainer::SetListboxPos( const TPoint aPoint )
{
iListPos = aPoint;
if( iListBox )
{
TRect rect = Rect();
TSize size( Rect().Width(), Rect().iBr.iY - iListPos.iY );
iListBox->SetExtent( iListPos, size );
CEikScrollBar *scrollBar = iListBox->ScrollBarFrame()->GetScrollBarHandle( CEikScrollBar::EVertical );
if( scrollBar )
{
TPoint pos = scrollBar->Position();
pos.iY = iListPos.iY;
scrollBar->SetExtent( pos, scrollBar->MinimumSize() );
}
}
}
- Series 60 3rd---调整list box位置和大小后造成与scroll bar不一致的解决办法
- Series 60 3rd---调整list box位置和大小后造成与scroll bar不一致的解决办法
- Series 60 3rd---调整list box位置和大小后造成与scroll bar不一致的解决办法
- S3C44B0x 开cache后造成不一致问题的解决办法
- Series 60 3rd上绘图时设置字体的大小
- symbian Series 60 3rd上绘图时设置字体的大小
- Series 60 3rd上绘图时设置字体的大小
- 鼠标调整控件的位置和大小
- iOS(iPhone/iPad) 屏幕旋转响应函数的缺点与窗口大小位置调整,以及解决办法
- Win32 Series - The Scroll Bar Class
- Scroll bar 的使用
- 对话框程序自动调整控件大小和位置的宏
- 调整UIButton上图片的位置和大小
- 知识竞赛时,倒计时字体的大小和位置如何调整?
- PDF文件页面大小不一致的解决办法
- 动态调整对话框控件位置和大小
- 电子合同印章大小和位置调整
- 关于3rd mr和3rd FP1生成的安装包大小
- 数学的三大核心领域——几何学范畴
- 100部可以浓缩为一句话的名著
- Win32下API函数总结
- 数学的三大核心领域——分析学范畴
- hdu 2602 Bone Collector (01 背包问题)
- Series 60 3rd---调整list box位置和大小后造成与scroll bar不一致的解决办法
- 十步一杀
- 用java实现的一个简单web服务器程序
- 转: can bind a LONG value only for insert into a LONG column
- 第一次开通有感
- 批处理程序自动切换IP地址代码
- 中国居民身份证 算法 转 是java版本的
- D3DFVF浅谈
- Chrome 同步google书签--变通方法