CHtmlView类和焦点

时间:2010-08-11 13:45:09

标签: c++ html mfc webbrowser-control

我正在使用MFC编写的对话框应用程序。 Dialog上有3个子控件。 2个按钮(按钮1和按钮2)和HTML控件(从CHtmlView派生的类) HTML控件已导航到包含2个复选框的HTML页面(复选框1和复选框2)。

控制Z-Order焦点应该是: 按钮1 按钮2 再按一次HTML控件按钮1

当焦点转到HTML控件时。我希望它设置为Check Box 1&然后在按Tab键后,它将被设置为复选框2。 但是当我在复选框2中按焦点时按Tab键,我希望它设置为按钮1。

即。 我希望焦点循环如:按钮1 - >按钮2 - >复选HTML控件中的框1 - >在HTML控件中选中框2 - >然后再次按钮1

问题: 当焦点设置为HTML控件时,它不会设置为复选框1并且在焦点打开时按Tab键后复选框不会 回到按钮1。

如果问题不够具有描述性,请告诉我,我会更简化它。 感谢你的时间。

1 个答案:

答案 0 :(得分:0)

我无法测试它,但您可能会尝试将WS_EX_CONTROLPARENT样式添加到HTML控件。

int OnInitDialog(...)
{
   HWND html = GetDlgItem(dialog, ID_HTML);
   DWORD ex_style = GetWindowLong(html, GWL_EXSTYLE);
   SetWindowLong(html, GWL_EXSTYLE, ex_tyle | WS_EX_CONTROLPARENT);
   return 0;
}

我希望它有效。