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

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

在以下语句中出现问题:

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


如何从卫星DLL加载“特殊” MFC控件?

最佳答案

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

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


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

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

10-13 08:34