RTTI ??在运行时创建多个对象wxwidgets?

时间:2010-09-25 13:34:19

标签: wxwidgets

喜 对不起我的愚蠢问题

从对象标签数组列表中创建多个控件对象的正确方法是什么??

感谢

1 个答案:

答案 0 :(得分:1)

函数 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()
{
...
}