C++ wxWidgets:如何引用子组件?

C++ wxWidgets:如何引用子组件?,c++,wxwidgets,C++,Wxwidgets,我有一个叫p的wxPanel 我有5个文本框 如何为面板中的每个文本框指定一段静态文本,而不逐个指定?我可以像引用数组元素一样引用它们吗 谢谢 因为wxPanel是wxWindow的子类,所以您可以使用 这将为您提供一个类似stl的所有子项列表,示例如下所示: for( wxWindowList::iterator it = yourWindow->GetChildren().begin(); it != yourWindow->GetChildren().end(); i

我有一个叫p的wxPanel

我有5个文本框

如何为面板中的每个文本框指定一段静态文本,而不逐个指定?我可以像引用数组元素一样引用它们吗


谢谢

因为
wxPanel
wxWindow
的子类,所以您可以使用


这将为您提供一个类似stl的所有子项列表,示例如下所示:

for( wxWindowList::iterator it = yourWindow->GetChildren().begin();
     it != yourWindow->GetChildren().end(); it++){

     wxStaticText* aStaticText = dynamic_cast<wxStaticText *>( *it );

    if( aStaticText ){
     aStaticText->SetLabel( wxT("FooBar") );
    }

}
for(wxWindowList::iterator it=yourWindow->GetChildren().begin();
it!=yourWindow->GetChildren().end();it++){
wxStaticText*aStaticText=dynamic_cast(*it);
if(aStaticText){
aStaticText->SetLabel(wxT(“FooBar”);
}
}

我没有测试/编译它,所以请原谅任何打字错误

是的,我注意到了这个方法。然而,我不太清楚如何使用它。您能给我举个例子,说明如何设置面板中第二个文本框的值吗?谢谢这是一个相当聪明的技术。。。你能解释一下这行是什么吗是什么?谢谢也许一些注释可以。好的,我会尝试一步一步地分解它,它是一个包含
wxWindow*
指针的列表的迭代器,因此
*它将给你一个“wxWindow*”指针。由于您希望访问特定wxWindow子类的功能,在您的示例wxStaticText(?)中,您需要强制转换。我放在那里的动态转换比静态转换更方便,因为当窗口/面板包含不同类型的元素时,它也会工作