我有一个使用卫星 DLL 的 MFC 应用程序以支持多语言。我正在使用 Visual Studio 2010。
我可以毫无问题地更改应用程序核心部分的语言。当我尝试加载包含“特殊”MFC 控件(CMFCColorButton
、CVSListBox
等)的无模式对话框时出现问题。
问题出现在以下语句处:
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/