我在进行自定义浏览器控件时,要去掉3D边框和滚动条,所以实现了IDocHostUIHandler接口,并在其回调接口GetHostInfo中提供了相应的flag设置。
当重新实现自定义接口后,需要在控件容器中调用AfxEnableControlContainer()方法,将自定义接口传递给系统模块,供其回调。
注意AfxEnableControlContainer()这个方法可以随时反复调用(但必须在Browser对象创建之前),最后一次调用会覆盖前一次设置的回调接口。在实际应用中,发现有时设置了自定义接口后,控件会出现异常(只有Release编译会出现),使用WinDGB跟踪,发现异常出现在shdocvw.dll模块内,具体原因还不是很清楚,可能是上下文环境中某个变量或指针已被销毁,在系统进行回调过程中导致异常。
希望有高手,或了解该模块内部情况的朋友能够指点一二。
自定义浏览器的研究
最新推荐文章于 2024-09-30 09:42:27 发布