我有一个用MFC编写的SDI应用程序。使用分离器窗口将帧分为1行和2列。下面是行和列的详细信息(R0C0表示行#0和列#0)
我能够更新HTML内容,并通过我的MFC代码调用Javascript函数。
问题: 当用户点击R0C1,连接CHtmlView时,焦点现在在html页面上。我希望允许用户使用键盘跳出R0C1并返回R0C0。你能帮忙吗?用户显然可以使用鼠标单击R0C0视图,但我们有一个用户需要使用键盘才能使用此功能。
如果问题不够具有描述性,请告诉我,我会进一步简化。
感谢您的时间。
谢谢, 字节
答案 0 :(得分:1)
尝试重载CHtmlView :: OnTranslateAccelerator。我已成功使用此技巧禁用F5键刷新。从CHtmlView派生你自己的类并重载
virtual HRESULT OnTranslateAccelerator(LPMSG lpMsg, const GUID* pguidCmdGroup, DWORD nCmdID);
像这样:
HRESULT CMyHtmlView::OnTranslateAccelerator(LPMSG lpMsg, const GUID* pguidCmdGroup, DWORD nCmdID)
{
if(lpMsg->message == WM_KEYDOWN && GetAsyncKeyState(VK_TAB) != 0 )
{
// change focus
return S_OK;
}
return CHtmlView::OnTranslateAccelerator( lpMsg, pguidCmdGroup, nCmdID);
}