在 S60 第 3 版 FP1 上使用 Symbian 的浏览器控件时,我只有悲伤。我们目前显示页面,许多事情都在顺利进行。但是,当在 HTML 文本字段中输入文本时,如果用户在文本输入区域的开头向左移动(应该将其“包裹”到末尾)或者如果他们在文本输入区域的结尾(应该将其“包装”到开头)。
我似乎无法将输入捕获在OfferKeyEventL
. 我得到了关键事件,我返回EKeyWasConsumed
并且光标仍然移动。
TKeyResponse CMyAppContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType)
{
if (iBrCtlInterface) // My browser control
{
TBrCtlDefs::TBrCtlElementType type = iBrCtlInterface->FocusedElementType();
if (type == TBrCtlDefs::EElementActivatedInputBox || type == TBrCtlDefs::EElementInputBox)
{
if (aKeyEvent.iScanCode == EStdKeyLeftArrow || aKeyEvent.iScanCode == EStdKeyRightArrow)
{
return EKeyWasConsumed;
}
}
}
}
我可以完全禁用箭头键导航,但似乎无法做到这一点。
有任何想法吗?我会以错误的方式解决这个问题吗?这里有人甚至在 S60 3.1 上使用过浏览器控制库(browserengine.lib)吗?
更新:有趣的是,如果我切换到使用光标导航,它工作正常。目前,这是一种解决方法。我仍然很想知道是否有办法解决这个问题。