hur.cn - 华软网

 热门搜索

------求救::CWebBrowser2控件放到对话框里就出错---

  作者:未知    来源:网络    更新时间:2011/6/23
    是这样的我做了个动态库,里面有对话框资源,外面程序调用dll显示这个对话框,本来一切都正常的,但如果我在这个对话框里添加CWebBrowser2控件,dlg = create(ID_DLG);创建对话框的时候,dlg->hwnd竟然是空的。谁能告诉我为什么??

    还有就是如果只建一个基于对话框的程序,添加CWebBrowser2控件就正常,现在我把对话框资源封装成dll,再用到该控件就出这样的错了,都不知道怎么解决了,求大侠指教!!万分感谢!!


---华软 网友回答---
谁能帮我解决下啊,谢谢
---华软网友回复---
你是不是在OnInitDialog里做了什么初始化工作了,这时候是不会调用这函数的,还有就是,你使用了CoInitialize没有
---华软网友回复---
dll中有没有做资源切换
---华软网友回复---
在前面加上AFX_MANAGE_STATE (AfxGetStaticModuleState())试试
---华软网友回复---
已经加上AFX_MANAGE_STATE (AfxGetStaticModuleState())的呢。就是说在对话框资源里加入CWebBrowser2这个控件,运行程序的时候,dlg = create(ID_DLG);dlg->hwnd竟然是空的,把控件删除,运行程序,就正常了。不知道这个控件有什么特别

---华软网友回复---
看看这个

http://blog.csdn.net/jiaoshuchun/archive/2009/07/30/4393879.aspx

---华软网友回复---
引用 5 楼 huaguli 的回复:
已经加上AFX_MANAGE_STATE (AfxGetStaticModuleState())的呢。就是说在对话框资源里加入CWebBrowser2这个控件,运行程序的时候,dlg = create(ID_DLG);dlg->hwnd竟然是空的,把控件删除,运行程序,就正常了。不知道这个控件有什么特别

你加在什么地方了?
这个应该加上DLL里面,在DLL中加上这个:
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CoInitialize(NULL);
AfxEnableControlContainer();

---华软网友回复---
问题解决了,真是太太开心了,谢谢:(红猪[兔子党党委机关处长,
也谢谢大家,打心里的感谢。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。