我試圖獲得wxSizer類型與wxIS_KIND_OF宏。 幾秒鐘後,我的程序沒有顯示我的應用程序的主窗口。使用wxIS_KIND_OF宏獲取類類型時出錯
這是代碼:
wxXmlResource::Get()->LoadFrame((wxFrame*)this, (wxWindow*)NULL , wxT("MyFrame1"));
wxPanel* container = (wxPanel*)FindWindowByName("m_panel1");
if (!container){
cout << "Error loading container!" << endl << flush;
}
else{
for (unsigned int i=0; i<3; i++){
auxPanelArray[i] = new wxPanel(container, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
wxXmlResource::Get()->LoadPanel(auxPanelArray[i] , wxT("MyPanel6"));
wxSizer* mySizer = auxPanelArray[i]->GetSizer();
if (wxIS_KIND_OF(mySizer, wxStaticBoxSizer)){
cout << "Your sizer is a wxStaticBoxSizer" << endl << flush;
((wxStaticBoxSizer*)mySizer)->GetStaticBox()->SetLabel("My new label");
}
container->GetSizer()->Add(auxPanelArray[i]);
}
}
在我的XRC,篩分器類型是wxStaticBoxSizer,所以wxIS_KIND_OF應該檢測到它和IF塊進入裏面。
爲什麼它不起作用?
UPDATE 這是XRC文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<resource xmlns="http://www.wxwindows.org/wxxrc" version="2.3.0.1">
<object class="wxPanel" name="MyPanel6">
<style>wxTAB_TRAVERSAL</style>
<object class="wxStaticBoxSizer">
<minsize>100,100</minsize>
<orient>wxVERTICAL</orient>
<label>label</label>
<object class="sizeritem">
<option>1</option>
<flag>wxEXPAND|wxALL</flag>
<border>5</border>
<object class="wxBoxSizer">
<orient>wxHORIZONTAL</orient>
<object class="sizeritem">
<option>0</option>
<flag>wxALL</flag>
<border>5</border>
<object class="wxStaticText" name="m_staticText12">
<label>MyLabel</label>
<wrap>-1</wrap>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<flag>wxALL</flag>
<border>5</border>
<object class="wxTextCtrl" name="m_textCtrl4">
<value></value>
</object>
</object>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<flag>wxALL</flag>
<border>5</border>
<object class="wxButton" name="m_button8">
<label>MyButton</label>
<default>0</default>
</object>
</object>
</object>
</object>
</resource>
????什麼是wxIS_KIND_OF? – ravenspoint 2013-04-09 12:17:44
這是一個包裝方法IsKindOf()的宏,它實現了從wxObject派生的所有類。它在文件object.h中定義。 – 2013-04-09 13:30:27