我正在使用下面的代码在触摸屏设备上上下拖动(滚动)CEikRichTextEditor内容,但问题是当我拖动滚动条本身(向上或向下),然后再次开始拖动(在控制),滚动条仍然在其位置,没有更新:
void CAIBookDescribtion::HandlePointerEventL(const TPointerEvent& aPointerEvent)
{
static TInt firstpoint;
if(aPointerEvent.iType == TPointerEvent::EButton1Down)
{
firstpoint = aPointerEvent.iPosition.iY;
}
if(aPointerEvent.iType == TPointerEvent::EDrag)
{
if(aPointerEvent.iPosition.iY > firstpoint)
{
iRichText1->TextView()->ScrollDisplayL(TCursorPosition::EFLineUp);
iRichText1->UpdateScrollBarsL();
DrawNow();
iRichText1->DrawNow();
}
else
{
iRichText1->TextView()->ScrollDisplayL(TCursorPosition::EFLineDown);
iRichText1->UpdateScrollBarsL();
DrawNow();
iRichText1->DrawNow();
}
}
}
那么如何刷新(重绘)控件及其滚动条以反映其内容?
我正在使用Symbian C ++,S60 5th Ed SDK,Carbide.C ++ 2.7,在诺基亚E7上测试(Symbian Anna)
我使用Carbide.C ++ 2.7 UI控件创建了CEikRichTextEditor控件。
最诚挚的问候。
答案 0 :(得分:1)
尝试使用滚动条框架:
iRichText1-> ScrollBarFrame() - > DrawScrollBarsNow()