wxMenuItemList list = this->menu->GetMenuItems(); wxwxMenuListNode *node = dynamic_cast(list.GetFirst()); wxLogMessage( wxT( "Starting loop." ) ); while( node ){ wxLogMessage( wxT( "Item" ) ); wxMenuItem *item = dynamic_cast(node->GetData()); // process item node = node->GetNext(); } wxLogMessage( wxT( "Loop ended." ) );