CRichEditCtrl 在使用 MFC 编写的共享 dll 中无法正常工作?

Posted

技术标签:

【中文标题】CRichEditCtrl 在使用 MFC 编写的共享 dll 中无法正常工作?【英文标题】:CRichEditCtrl not working properly in shared dll written using MFC? 【发布时间】:2012-07-10 09:40:37 【问题描述】:

我正在编写一个用 MFC 编写的 DLL,供其他应用程序使用。 项目设置: 1.在静态库中使用MFC 2. 预处理器:AFXDLL 3. MD构建

在调用之前我也使用过 AFX_MANAGE_STATE (AfxGetStaticModuleState()) 内部调用 InitInstance 和 DLL main 的 CWinApp。

此对话框中有选项卡,我只能看到第一个选项卡,所有其他选项卡都显示为空白。当我运行与 exe 相同的 DLL(需要更改)时,它工作正常。 当我调用 AfxGetApp() 时,DLL 也崩溃了吗? 我想主要问题是由于 DOMODAL()。谁能告诉标签控制不起作用的问题可能是什么?

更新 我发现 CRichEditCtrl 是问题所在。在对话框选项卡中,当我删除它时我也有这个它工作正常。有谁能知道这是什么原因。。 我之前在 InitiInstance() 中使用过 AfxInitRichEdit2()

我是 MFC 新手,如果您需要更多信息,请告诉我

【问题讨论】:

【参考方案1】:

您必须在使用富编辑控件之前调用AfxInitRichEdit()。

【讨论】:

【参考方案2】:

你在EXE的InitInstance中调用AfxInitRichEdit2吗?

也尝试将其放入 DLL 的 InitInstance 中!

【讨论】:

以上是关于CRichEditCtrl 在使用 MFC 编写的共享 dll 中无法正常工作?的主要内容,如果未能解决你的问题,请参考以下文章

MFC CRichEditCtrl中插入gif图片的问题。。。

CRichEditCtrl 如何忽略按键?

MFC读写文件

MFC - 打印 rtf 文档

如何将 Unicode 支持添加到 CRichEditCtrl?

如何在 CRichEditCtrl 中禁用 RTF 表格边框?