c++ - 从 Satellite DLL 加载 "special"MFC 控件

标签 c++ visual-studio-2010 mfc

我有一个使用卫星 DLL 的 MFC 应用程序以支持多语言。我正在使用 Visual Studio 2010。

我可以毫无问题地更改应用程序核心部分的语言。当我尝试加载包含“特殊”MFC 控件(CMFCColorButtonCVSListBox 等)的无模式对话框时出现问题。

问题出现在以下语句处:

m_dlg->Create(SOME_IID, this); // returns false

我应该如何继续从卫星 DLL 加载“特殊”MFC 控件?

最佳答案

您必须在到达 OnCreate() 之前注册他们的类(class)。对于自定义控件,这通常在构造函数中完成:

CMyClass::CMyClass()
{
    // Pseudo code
    m_mfcColorButton.RegisterWindowClass(AfxGetResourceHandle());
}

对于 MFC 控件,我打赌有一个需要调用的初始化函数。

关于c++ - 从 Satellite DLL 加载 "special"MFC 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12324231/

相关文章:

c++ - 关于 C++ 中的委托(delegate)

c++ - 结构的内存分配(低性能)

visual-studio-2010 - boost 库 1.47.1 构建 'lib' 前缀导致 LNK1104 错误

visual-studio-2010 - Selenium 2 WebDriver 的 NuGet 包不会安装在 Visual Studio 2010 中

c++ - 带有 DBTIMESTAMP 变量的 DDX_Text,我需要引用哪个库?

c++ - 为什么MFC中的创建和写入模式无法打开隐藏文件?

c++ - 最大化qt中单实例应用程序的已运行实例

c++ - 如何创建一个Linux共享库,将所有二进制依赖项包含到一个so文件中?

c++ - 使用 CWnd::EnableTooltips() 可以实现多行工具提示吗?

c++ - 将 TaskDialogConfig 与 std::string 一起使用