Mfc Navigate2方法返回S_OK后,卡在READYSTATE_加载的READYSTATE

Mfc Navigate2方法返回S_OK后,卡在READYSTATE_加载的READYSTATE,mfc,iwebbrowser2,docview,readystate,Mfc,Iwebbrowser2,Docview,Readystate,我正在开发一个MFC文档视图体系结构应用程序,它有多个文档和视图以及一个选项卡式窗口界面 我的任务是在其他选项卡中按下OK按钮时自动切换到另一个选项卡。当单击另一个标签时,它使用iWebBuffSer2上的C++包装器导航到特定的网页。 通过单击选项卡手动完成此操作后,一切正常,视图中的网页加载成功 在我第一次尝试这样做时,选项卡成功切换以响应对的调用 AfxGetMainWnd()->SendMessageToDescendants(SOME_MESSAGE, ...); 但是,如果

我正在开发一个MFC文档视图体系结构应用程序,它有多个文档和视图以及一个选项卡式窗口界面

我的任务是在其他选项卡中按下OK按钮时自动切换到另一个选项卡。当单击另一个标签时,它使用iWebBuffSer2上的C++包装器导航到特定的网页。

通过单击选项卡手动完成此操作后,一切正常,视图中的网页加载成功

在我第一次尝试这样做时,选项卡成功切换以响应对的调用

 AfxGetMainWnd()->SendMessageToDescendants(SOME_MESSAGE, ...);
但是,如果在错误的点发送此windows消息,则一旦控制返回,应用程序将崩溃,因为事件链导致出现(无模式)对话框(*) 已发送消息,以使其不再存在

然后我找到了打电话的正确位置,但现在当另一个选项卡被激活时,它不再显示它应该显示的网页

为了调试这个问题,我添加了代码来检查READYSTATE在工作和不工作的情况下的情况。当页面加载失败时(尽管调用Navigate2返回S_OK),READYSTATE只是停留在READYSTATE_加载状态

不幸的是,现在我要做的编辑太多了,而不是我让它部分工作的时候

我已经将跟踪语句添加到最明显的事件中,例如OnSetFocus、CView::OnActivateView,但是所有跟踪都以相同的顺序出现,尽管行为不同


*在视图中托管

您与SendMessageToDescendats一起发送的消息是什么?如果消息id与toolbar/statusbar/webbrowser的消息冲突,这将是一个大麻烦。这是一条特定于应用程序的消息。我不认为这与其他信息冲突。有一个工具栏按钮,单击该按钮时,也会启动到另一个选项卡的切换,但单击该按钮后,网页将成功加载。