2011-08-31 71 views
0

我想从ActiveX控件项目(OCX)中使用DoModal()打开包含MS FlexGrid ActiveX控件的对话框。我为FlexGrid控件添加了成员​​变量,并通过向导为它生成了一个包装类。但是在DoModal()之后没有显示对话框。我注意到OnInitDialog()没有被调用。如果从对话框中删除MS FlexGrid控件,则会出现对话框。 我不知道我错过了什么。无法打开包含MS FlexGrid activex控件的模式对话框

+0

如果只删除控件,对话框将打开? – Sunscreen

回答

0

在创建控件/对话框的同一线程中,确保在创建任何控件/对话框之前使用以下调用初始化事物。

AfxEnableControlContainer(); 
CoInitialize(); 
+0

谢谢埃里克。在我的ActiveX控件的InitInstance()内添加了AfxEnableControlContainer()。有效。 – coonal