无法创建类wxWindowNR的窗口

时间:2015-12-23 02:09:00

标签: c++ wxwidgets

我想用C ++ / wxWidgets创建第二个独立窗口,我得到一个错误"无法创建类wxWindowNR"在运行时,第二个窗口不显示。没有编译器/链接器错误。

违规代码是:

void test_gui(){
    ActorDetails *ac = new ActorDetails(wxGetApp().GetTopWindow(),wxID_ANY,wxDefaultPosition,wxDefaultSize); //ActorDetails inherits wxFrame
    wxPanel *Panel1 = new wxPanel(ac, wxNewId(), wxPoint(256,224), wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL1"));
    ac->Show(true);
}

知道发生了什么事吗?

2 个答案:

答案 0 :(得分:1)

我今天也有同样的错误信息。很可能你忘了从ActorDetails构造函数中调用wxFrame构造函数。

答案 1 :(得分:0)

替换

ActorDetails *ac = new ActorDetails(wxGetApp().GetTopWindow(),wxID_ANY,wxDefaultPosition,wxDefaultSize);

ActorDetails *ac = new ActorDetails();
ac->Create(wxGetApp().GetTopWindow(), wxNewId(), _("Existenz Console"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id"));

现在按预期生成一个窗口。不幸的是我不知道有什么区别,但代码的第二个变种成功实例化并显示第二个wxFrame。

当然这需要在类ActorDetails中添加一个新的空构造函数而不添加参数构造函数(此处未显示)。