MFC里讓動態創建的ActiveX控件響應Windows消息
碰到的問題:我在MFC程序中使用一個由CWnd::CreateControl 創建的WebBrowser控件,這個控件是有CWnd繼承下來的,今天我有一個需求是要在當中響應Windows消息去重繪,但是我發現這個控件窗口居然不能夠接受父窗口的Windows窗口消息,很是無語。
問題產生的原因:
導致控件無法接收Windows窗口消息的原因是因為CreateControl 沒有子類化子窗口,自然是無法響應了。關于子類化的相關資料請查看參考資料,或者自行搜索。
解決的辦法:
在創建窗口以后調用CWnd::SubclassWindow即可。偽代碼如下:





















參考資料:
1. 在VC中,讓動態創建的ActiveX控件響應Windows消息。 http://www.ttadd.com/diannao/HTML/152058.html
2.CWnd中PreCreateWindow、PreSubclassWindow、SubclassWindow的區別 http://www.shnenglu.com/totti1006/archive/2009/01/15/72101.html