Функция wxCreateDynamicObject может использоваться для создания нового объекта заданного типа путем предоставления имени строки. Если вместо этого у вас есть указатель на объект wxClassInfo, вы можете просто вызвать wxClassInfo :: CreateObject.
Вы должны включить макрос IMPLEMENT_DYNAMIC_CLASS в каждый класс, который вы хотите иметь возможность динамически создавать объекты. IMPLEMENT_DYNAMIC_CLASS - это макрос, который не только инициализирует статический член wxClassInfo, но и определяет глобальную функцию, способную создавать динамический объект данного класса.
Пример
В заголовочном файле:
class wxFrame : public wxWindow
{
DECLARE_DYNAMIC_CLASS(wxFrame)
private:
wxString m_title;
public:
...
};
В файле C ++:
IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow)
wxFrame::wxFrame()
{
...
}