ATL CAxWindow类创建问题一则

时间:2023-03-08 19:13:56
ATL CAxWindow类创建问题一则

查看一个浏览器源码实现,发现其中使用了ie的控件,但例子中没有找到任何创建ie浏览器控件的代码,经过仔细跟踪,发现CAxWindow类是可以这么使用滴。。

ATL CAxWindow类创建问题一则

创建的时候第三个参数直接传入url。调用到CWindowImpl::Create

ATL CAxWindow类创建问题一则

多次跟踪后发现疑点:

ATL CAxWindow类创建问题一则

跟踪到这个函数,查看定义,可以看到如下实现,/(ㄒoㄒ)/~~

ATL CAxWindow类创建问题一则

也就是说传入得窗口名中如果包含":"就认为是一个URL,并创建WebBrowser控件。

对于这种实现我只能说也是醉了。

 

References:

Web Application - Advanced Hosting of WebBrowser Control with ATL