无法打开包含 MS FlexGrid activex 控件的模式对话框
Posted
技术标签:
【中文标题】无法打开包含 MS FlexGrid activex 控件的模式对话框【英文标题】:Cannot open modal dialog containing MS FlexGrid activex control 【发布时间】:2011-08-31 15:32:23 【问题描述】:我正在尝试使用 ActiveX 控件项目 (OCX) 中的 DoModal() 打开包含 MS FlexGrid ActiveX 控件的对话框。我为 FlexGrid 控件添加了成员变量,并通过向导为其生成了一个包装类。但是在 DoModal() 之后对话框没有出现。我注意到 OnInitDialog() 没有被调用。如果我从对话框中删除 MS FlexGrid 控件,则会出现该对话框。 我不知道我错过了什么。
【问题讨论】:
如果您只删除对话框打开的控件? 【参考方案1】:在创建控件/对话框的同一线程中,确保在创建任何控件/对话框之前使用以下调用初始化事物。
AfxEnableControlContainer();
CoInitialize();
【讨论】:
谢谢埃里克。在我的 activex 控件的 InitInstance() 中添加了 AfxEnableControlContainer()。它奏效了。以上是关于无法打开包含 MS FlexGrid activex 控件的模式对话框的主要内容,如果未能解决你的问题,请参考以下文章