我有一个用MFC编写的对话框应用程序。对话框上有3个子控件。2个按钮(按钮1和按钮2)和一个超文本标记语言控件(从CHtmlView派生的类)超文本标记语言控件已导航到具有2个复选框(复选框1和复选框2)的超文本标记语言页面。
焦点的控件Z顺序应该类似于:按钮1按钮2 HTML控件,然后再次按钮1
当焦点转到HTML控件时。我希望将其设置为Check 1,然后在按tab后将其设置为Check 2。但是,当我在焦点位于Check 2上时按tab时,我希望它设置为Button 1。
也就是说,我希望焦点循环如下: Button 1 -> Button 2 -> Check 1 in HTML Control -> Check 2 in HTML Control ->然后再次点击按钮1
问题:当焦点设置为HTML控件时,它不会设置为Check 1,并且在按Tab键之后,当焦点位于Check 2上时,焦点不会返回到Button 1。
如果问题不够描述性,请让我知道,我会简化它。感谢您的宝贵时间。
发布于 2010-08-11 22:47:11
我不能测试它,但您可以尝试将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;
}
我希望它能起作用。
https://stackoverflow.com/questions/3458936
复制相似问题