本文整理汇总了C++中wxMenu::GetMenuItemCount方法的典型用法代码示例。如果您正苦于以下问题:C++ wxMenu::GetMenuItemCount方法的具体用法?C++ wxMenu::GetMenuItemCount怎么用?C++ wxMenu::GetMenuItemCount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxMenu
的用法示例。
在下文中一共展示了wxMenu::GetMenuItemCount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetMenu
void SetMenu( wxMenu* menu, const OS_string& items, EnabledCallback enabledCallback = NULL )
{
// protect the MRU so that it is only tied to one menu
HELIUM_ASSERT( m_Menu == NULL || m_Menu == menu );
m_Menu = menu;
m_MenuItemIDToString.clear();
// Clear out the old menu items
while ( m_Menu->GetMenuItemCount() > 0 )
{
m_Menu->Delete( *( m_Menu->GetMenuItems().begin() ) );
}
// Build a new list of menu items from the MRU
OS_string::ReverseIterator mruItr = items.ReverseBegin();
OS_string::ReverseIterator mruEnd = items.ReverseEnd();
for ( ; mruItr != mruEnd; ++mruItr )
{
const tstring& item = *mruItr;
wxMenuItem* menuItem = menu->Append( wxID_ANY, item.c_str() );
bool enabled = true;
if ( enabledCallback )
{
enabled = (*enabledCallback)( item );
}
if ( enabled )
{
Connect( menuItem->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MenuMRUEvtHandler::OnMRUMenuItem ), NULL, this );
}
else
{
menuItem->SetItemLabel( ( item + TXT( " (missing)" ) ).c_str() );
menuItem->Enable( false );
}
m_MenuItemIDToString.insert( M_MenuItemIDToString::value_type( menuItem->GetId(), item ) );
}
}