我注意到使用嵌入式 IE 控件 (CHtmlView),任何通过拖动父窗口的边框来调整大小的尝试都不会调整 IE 控件的内部工作。我启动了 Spy++ 并将嵌入式控件与 IE 浏览器进行了比较,我很确定这是“Shell Embedding”窗口,它阻止了任何大小调整事件传播到 Internet Explorer_Server 控件。
我可以看到 WM_SIZE、WM_WINDOWPOSCHANGED 等点击了 Shell Embedding 控件,但 Shell DocObject View 什么也得不到。但是,它会通过最大化/恢复向下接收这些消息并适当地调整内部 IE_Server 的大小。
查看 IE 本身:
我确实看到了大小调整、位置更改等事件击中了 Shell DocObject 视图,并且显然 IE 在拖动边框时调整了页面大小。唯一有意义的是,Shell Embedding 窗口不会通过拖动来调整大小。
这是否准确,如果是这样,除了手动将 WM_SIZE 事件发送到 Shell Embedding 子项以强制它调整大小的一些技巧之外,是否有一种解决方法来调整它的大小?