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