这篇教程C++ GetMenuItems函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GetMenuItems函数的典型用法代码示例。如果您正苦于以下问题:C++ GetMenuItems函数的具体用法?C++ GetMenuItems怎么用?C++ GetMenuItems使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GetMenuItems函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: GetMenuItemswxMenuItem *wxMenu::DoRemove(wxMenuItem *item){ // Update indices of radio groups. if ( m_radioData ) { int pos = GetMenuItems().IndexOf(item); if ( m_radioData->UpdateOnRemoveItem(pos) ) { wxASSERT_MSG( item->IsRadio(), wxS("Removing non radio button from radio group?") ); } //else: item being removed is not in a radio group }/* // we need to find the items position in the child list size_t pos; wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); for ( pos = 0; node; pos++ ) { if ( node->GetData() == item ) break; node = node->GetNext(); } // DoRemove() (unlike Remove) can only be called for existing item! wxCHECK_MSG( node, NULL, wxT("bug in wxMenu::Remove logic") ); wxOSXMenuRemoveItem(m_hMenu , pos ); */ GetPeer()->Remove( item ); // and from internal data structures return wxMenuBase::DoRemove(item);}
开发者ID:CodeSmithyIDE,项目名称:wxWidgets,代码行数:35,
示例2: GetMenuItemswxMenuItem *wxMenu::DoRemove(wxMenuItem *item){ if ( m_startRadioGroup != -1 ) { // Check if we're removing the item starting the radio group if ( GetMenuItems().Item(m_startRadioGroup)->GetData() == item ) { // Yes, we do, so reset its index as the next item added shouldn't // count as part of the same radio group anyhow. m_startRadioGroup = -1; } } /* // we need to find the items position in the child list size_t pos; wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); for ( pos = 0; node; pos++ ) { if ( node->GetData() == item ) break; node = node->GetNext(); } // DoRemove() (unlike Remove) can only be called for existing item! wxCHECK_MSG( node, NULL, wxT("bug in wxMenu::Remove logic") ); wxOSXMenuRemoveItem(m_hMenu , pos ); */ GetPeer()->Remove( item ); // and from internal data structures return wxMenuBase::DoRemove(item);}
开发者ID:iokto,项目名称:newton-dynamics,代码行数:35,
示例3: GetMenuItemswxMenuItem *wxMenu::DoRemove(wxMenuItem *item){ // we need to find the items position in the child list size_t pos; wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); for ( pos = 0; node; pos++ ) { if ( node->GetData() == item ) break; node = node->GetNext(); } // DoRemove() (unlike Remove) can only be called for existing item! wxCHECK_MSG( node, NULL, wxT("bug in wxMenu::Remove logic") ); ::DeleteMenuItem(MAC_WXHMENU(m_hMenu) , pos + 1); if ( IsAttached() && GetMenuBar()->IsAttached() ) // otherwise, the change won't be visible GetMenuBar()->Refresh(); // and from internal data structures return wxMenuBase::DoRemove(item);}
开发者ID:czxxjtu,项目名称:wxPython-1,代码行数:26,
示例4: wxDoChangeForegroundColourvoid wxMenu::SetForegroundColour(const wxColour& col){ m_foregroundColour = col; if (!col.IsOk()) return; if (m_menuWidget) wxDoChangeForegroundColour(m_menuWidget, (wxColour&) col); if (m_buttonWidget) wxDoChangeForegroundColour(m_buttonWidget, (wxColour&) col);#if defined(__INTEL_COMPILER) && 1 /* VDM auto patch */# pragma ivdep# pragma swp# pragma unroll# pragma prefetch# if 0# pragma simd noassert# endif#endif /* VDM auto patch */ for ( wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); node; node = node->GetNext() ) { wxMenuItem* item = node->GetData(); if (item->GetButtonWidget()) { // This crashes because it uses gadgets // wxDoChangeForegroundColour(item->GetButtonWidget(), (wxColour&) col); } if (item->GetSubMenu()) item->GetSubMenu()->SetForegroundColour((wxColour&) col); }}
开发者ID:vdm113,项目名称:wxWidgets-ICC-patch,代码行数:33,
示例5: GetMenuItems// non recursive searchwxMenuItem *wxMenuBase::FindChildItem(int id, size_t *ppos) const{ wxMenuItem *item = (wxMenuItem *)NULL; wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); size_t pos; for ( pos = 0; node; pos++ ) { if ( node->GetData()->GetId() == id ) { item = node->GetData(); break; } node = node->GetNext(); } if ( ppos ) { *ppos = item ? pos : (size_t)wxNOT_FOUND; } return item;}
开发者ID:czxxjtu,项目名称:wxPython-1,代码行数:26,
示例6: GetMenuItemswxMenuItem *wxMenu::DoRemove(wxMenuItem *item){ // we need to find the items position in the child list size_t pos; wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); for ( pos = 0; node; pos++ ) { if ( node->GetData() == item ) break; node = node->GetNext(); } // DoRemove() (unlike Remove) can only be called for existing item! wxCHECK_MSG( node, NULL, wxT("bug in wxMenu::Remove logic") ); // remove the item from the menu wxMenuItem *ret=wxMenuBase::DoRemove(item); if ( IsAttached() && GetMenuBar()->IsAttached() ) { // Regenerate the menu resource GetMenuBar()->Refresh(); } return ret;}
开发者ID:beanhome,项目名称:dev,代码行数:27,
示例7: DestroyMenu// Destroys the Motif implementation of the menu,// but maintains the wxWidgets data structures so we can// do a CreateMenu again.void wxMenu::DestroyMenu (bool full){ for ( wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); node; node = node->GetNext() ) { wxMenuItem *item = node->GetData(); item->SetMenuBar(NULL); item->DestroyItem(full); } if (m_buttonWidget) { if (full) { XtVaSetValues((Widget) m_buttonWidget, XmNsubMenuId, NULL, NULL); XtDestroyWidget ((Widget) m_buttonWidget); m_buttonWidget = (WXWidget) 0; } } if (m_menuWidget && full) { XtDestroyWidget((Widget) m_menuWidget); m_menuWidget = (WXWidget) NULL; }}
开发者ID:CodeTickler,项目名称:wxWidgets,代码行数:30,
示例8: FindMenuItemWXWidget wxMenu::FindMenuItem (int id, wxMenuItem ** it) const{ if (id == m_menuId) { if (it) *it = NULL; return m_buttonWidget; } for ( wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); node; node = node->GetNext() ) { wxMenuItem *item = node->GetData (); if (item->GetId() == id) { if (it) *it = item; return item->GetButtonWidget(); } if (item->GetSubMenu()) { WXWidget w = item->GetSubMenu()->FindMenuItem (id, it); if (w) { return w; } } } if (it) *it = NULL; return (WXWidget) NULL;}
开发者ID:CodeTickler,项目名称:wxWidgets,代码行数:35,
示例9: GetMenuItems/*virtual*/ void CWndToolBar::ChangeFocus(ui8 oldFocus){ const CWndToolBar::CBarItem* pItems = GetMenuItems(); SendMessage( GetParent(), ToWord('L', 'D'), (NATIVEPTR)pItems[oldFocus].m_pWndMenu ); SendMessage( GetParent(), ToWord('L', 'E'), (NATIVEPTR)pItems[m_nFocus].m_pWndMenu ); SendMessage( GetParent(), ToWord('L', 'R'), 0 ); Settings.Runtime.m_nMenuItem = m_nFocus;}
开发者ID:reinhartkl,项目名称:DS203,代码行数:8,
示例10: GetMenuItemswxMenuItem* wxMenu::DoRemove( wxMenuItem* pItem){ // // We need to find the items position in the child list // size_t nPos; wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); for (nPos = 0; node; nPos++) { if (node->GetData() == pItem) break; node = node->GetNext(); } // // DoRemove() (unlike Remove) can only be called for existing item! // wxCHECK_MSG(node, NULL, wxT("bug in wxMenu::Remove logic"));#if wxUSE_ACCEL // // Remove the corresponding accel from the accel table // int n = FindAccel(pItem->GetId()); if (n != wxNOT_FOUND) { delete m_vAccels[n]; m_vAccels.RemoveAt(n); }#endif // wxUSE_ACCEL // // Remove the item from the menu // ::WinSendMsg( GetHmenu() ,MM_REMOVEITEM ,MPFROM2SHORT(pItem->GetId(), TRUE) ,(MPARAM)0 ); if (IsAttached() && GetMenuBar()->IsAttached()) { // // Otherwise, the chane won't be visible // GetMenuBar()->Refresh(); } // // And from internal data structures // return wxMenuBase::DoRemove(pItem);} // end of wxMenu::DoRemove
开发者ID:chromylei,项目名称:third_party,代码行数:56,
示例11: ClearSuggestionsMenuvoid SuggestionsSidebarBlock::ClearSuggestionsMenu(){ auto m = m_suggestionsMenu; auto menuItems = m->GetMenuItems(); for (auto i: menuItems) { if (std::find(m_suggestionMenuItems.begin(), m_suggestionMenuItems.end(), i) != m_suggestionMenuItems.end()) m->Remove(i); }}
开发者ID:mapme,项目名称:poedit,代码行数:11,
示例12: GetMenuItemswxMenuItem *wxMenu::DoRemove(wxMenuItem *item){ if ( item->IsRadio() ) { // Check if we're removing the item starting the radio group if ( item->IsRadioGroupStart() ) { // Yes, we do, update the next radio group item, if any, to be the // start one now. const int endGroup = item->GetRadioGroupEnd(); wxMenuItemList::compatibility_iterator node = GetMenuItems().Item(endGroup); wxASSERT_MSG( node, wxS("Should have valid radio group end") ); while ( node->GetData() != item ) { const wxMenuItemList::compatibility_iterator prevNode = node->GetPrevious(); wxMenuItem* const prevItem = prevNode->GetData(); if ( prevItem == item ) { prevItem->SetAsRadioGroupStart(); prevItem->SetRadioGroupEnd(endGroup); break; } node = prevNode; } } }/* // we need to find the items position in the child list size_t pos; wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); for ( pos = 0; node; pos++ ) { if ( node->GetData() == item ) break; node = node->GetNext(); } // DoRemove() (unlike Remove) can only be called for existing item! wxCHECK_MSG( node, NULL, wxT("bug in wxMenu::Remove logic") ); wxOSXMenuRemoveItem(m_hMenu , pos ); */ GetPeer()->Remove( item ); // and from internal data structures return wxMenuBase::DoRemove(item);}
开发者ID:3v1n0,项目名称:wxWidgets,代码行数:54,
示例13: GetMenuItemswxMenuItem *wxMenu::DoRemove(wxMenuItem *item){ // we need to find the item's position in the child list size_t pos; wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); for ( pos = 0; node; pos++ ) { if ( node->GetData() == item ) break; node = node->GetNext(); }#if wxUSE_ACCEL // remove the corresponding accel from the accel table int n = FindAccel(item->GetId()); if ( n != wxNOT_FOUND ) { delete m_accels[n]; m_accels.RemoveAt(n);#if wxUSE_OWNER_DRAWN ResetMaxAccelWidth();#endif } //else: this item doesn't have an accel, nothing to do#endif // wxUSE_ACCEL // Update indices of radio groups. if ( m_radioData ) { bool inExistingGroup = m_radioData->UpdateOnRemoveItem(pos); wxASSERT_MSG( !inExistingGroup || item->GetKind() == wxITEM_RADIO, wxT("Removing non radio button from radio group?") ); } // remove the item from the menu if ( !::RemoveMenu(GetHmenu(), (UINT)pos, MF_BYPOSITION) ) { wxLogLastError(wxT("RemoveMenu")); } if ( IsAttached() && GetMenuBar()->IsAttached() ) { // otherwise, the change won't be visible GetMenuBar()->Refresh(); } // and from internal data structures return wxMenuBase::DoRemove(item);}
开发者ID:xiyuera,项目名称:wxWidgets,代码行数:53,
示例14: wxCHECK_MSGwxMenuItem* wxMenu::DoAppend(wxMenuItem *item){ wxCHECK_MSG( item, NULL, wxT("NULL item in wxMenu::DoAppend") ); bool check = false; if ( item->GetKind() == wxITEM_RADIO ) { int count = GetMenuItemCount(); if ( m_startRadioGroup == -1 ) { // start a new radio group m_startRadioGroup = count; // for now it has just one element item->SetAsRadioGroupStart(); item->SetRadioGroupEnd(m_startRadioGroup); // ensure that we have a checked item in the radio group check = true; } else // extend the current radio group { // we need to update its end item item->SetRadioGroupStart(m_startRadioGroup); wxMenuItemList::compatibility_iterator node = GetMenuItems().Item(m_startRadioGroup); if ( node ) { node->GetData()->SetRadioGroupEnd(count); } else { wxFAIL_MSG( wxT("where is the radio group start item?") ); } } } else // not a radio item { EndRadioGroup(); } if ( !wxMenuBase::DoAppend(item) || !DoInsertOrAppend(item) ) return NULL; if ( check ) // check the item initially item->Check(true); return item;}
开发者ID:iokto,项目名称:newton-dynamics,代码行数:52,
示例15: wxGetTopLevelParent// Update a menu and all submenus recursively. source is the object that has// the update event handlers defined for it. If NULL, the menu or associated// window will be used.void wxMenuBase::UpdateUI(wxEvtHandler* source){ if (GetInvokingWindow()) { // Don't update menus if the parent // frame is about to get deleted wxWindow *tlw = wxGetTopLevelParent( GetInvokingWindow() ); if (tlw && wxPendingDelete.Member(tlw)) return; } if ( !source && GetInvokingWindow() ) source = GetInvokingWindow()->GetEventHandler(); if ( !source ) source = GetEventHandler(); if ( !source ) source = this; wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); while ( node ) { wxMenuItem* item = node->GetData(); if ( !item->IsSeparator() ) { wxWindowID id = item->GetId(); wxUpdateUIEvent event(id); event.SetEventObject( source ); if ( source->ProcessEvent(event) ) { // if anything changed, update the changed attribute if (event.GetSetText()) SetLabel(id, event.GetText()); if (event.GetSetChecked()) Check(id, event.GetChecked()); if (event.GetSetEnabled()) Enable(id, event.GetEnabled()); } // recurse to the submenus if ( item->GetSubMenu() ) item->GetSubMenu()->UpdateUI(source); } //else: item is a separator (which doesn't process update UI events) node = node->GetNext(); }}
开发者ID:czxxjtu,项目名称:wxPython-1,代码行数:51,
示例16: GetMenuItemswxMenuItem *wxMenu::DoRemove(wxMenuItem *item){ // we need to find the item's position in the child list size_t pos; wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); for ( pos = 0; node; pos++ ) { if ( node->GetData() == item ) break; node = node->GetNext(); } // DoRemove() (unlike Remove) can only be called for an existing item! wxCHECK_MSG( node, NULL, wxT("bug in wxMenu::Remove logic") );#if wxUSE_ACCEL // remove the corresponding accel from the accel table int n = FindAccel(item->GetId()); if ( n != wxNOT_FOUND ) { delete m_accels[n]; m_accels.RemoveAt(n);#if wxUSE_OWNER_DRAWN ResetMaxAccelWidth();#endif } //else: this item doesn't have an accel, nothing to do#endif // wxUSE_ACCEL // remove the item from the menu if ( !::RemoveMenu(GetHmenu(), (UINT)pos, MF_BYPOSITION) ) { wxLogLastError(wxT("RemoveMenu")); } if ( IsAttached() && GetMenuBar()->IsAttached() ) { // otherwise, the change won't be visible GetMenuBar()->Refresh(); } // and from internal data structures return wxMenuBase::DoRemove(item);}
开发者ID:Zombiebest,项目名称:Dolphin,代码行数:47,
示例17: wxCHECK_LESSTIF_VERSIONvoid wxMenu::ChangeFont(bool keepOriginalSize){ // Lesstif 0.87 hangs here, but 0.93 does not; MBN: sometimes it does#if !wxCHECK_LESSTIF() // || wxCHECK_LESSTIF_VERSION( 0, 93 ) if (!m_font.IsOk() || !m_menuWidget) return; Display* dpy = XtDisplay((Widget) m_menuWidget); XtVaSetValues ((Widget) m_menuWidget, wxFont::GetFontTag(), m_font.GetFontTypeC(dpy), NULL); if (m_buttonWidget) { XtVaSetValues ((Widget) m_buttonWidget, wxFont::GetFontTag(), m_font.GetFontTypeC(dpy), NULL); }#if defined(__INTEL_COMPILER) && 1 /* VDM auto patch */# pragma ivdep# pragma swp# pragma unroll# pragma prefetch# if 0# pragma simd noassert# endif#endif /* VDM auto patch */ for ( wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); node; node = node->GetNext() ) { wxMenuItem* item = node->GetData(); if (m_menuWidget && item->GetButtonWidget() && m_font.IsOk()) { XtVaSetValues ((Widget) item->GetButtonWidget(), wxFont::GetFontTag(), m_font.GetFontTypeC(dpy), NULL); } if (item->GetSubMenu()) item->GetSubMenu()->ChangeFont(keepOriginalSize); }#else wxUnusedVar(keepOriginalSize);#endif}
开发者ID:vdm113,项目名称:wxWidgets-ICC-patch,代码行数:46,
示例18: GetMenuItemsvoid wxMenu::SetTitle(const wxString& label){ m_title = label; wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); if ( !node ) return; wxMenuItem *item = node->GetData (); Widget widget = (Widget) item->GetButtonWidget(); if ( !widget ) return; wxXmString title_str(label); XtVaSetValues(widget, XmNlabelString, title_str(), NULL);}
开发者ID:CodeTickler,项目名称:wxWidgets,代码行数:18,
示例19: definedWXWidget wxMenu::FindMenuItem (int id, wxMenuItem ** it) const{ if (id == m_menuId) { if (it) *it = NULL; return m_buttonWidget; }#if defined(__INTEL_COMPILER) && 1 /* VDM auto patch */# pragma ivdep# pragma swp# pragma unroll# pragma prefetch# if 0# pragma simd noassert# endif#endif /* VDM auto patch */ for ( wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); node; node = node->GetNext() ) { wxMenuItem *item = node->GetData (); if (item->GetId() == id) { if (it) *it = item; return item->GetButtonWidget(); } if (item->GetSubMenu()) { WXWidget w = item->GetSubMenu()->FindMenuItem (id, it); if (w) { return w; } } } if (it) *it = NULL; return (WXWidget) NULL;}
开发者ID:vdm113,项目名称:wxWidgets-ICC-patch,代码行数:44,
示例20: GetMenuItemswxMenuItem *wxMenu::DoRemove(wxMenuItem *item){ // we need to find the item's position in the child list size_t pos; wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); for ( pos = 0; node; pos++ ) { if ( node->GetData() == item ) break; node = node->GetNext(); }#if wxUSE_ACCEL RemoveAccel(item);#endif // wxUSE_ACCEL // Update indices of radio groups. if ( m_radioData ) { if ( m_radioData->UpdateOnRemoveItem(pos) ) { wxASSERT_MSG( item->IsRadio(), wxT("Removing non radio button from radio group?") ); } //else: item being removed is not in a radio group } // remove the item from the menu if ( !::RemoveMenu(GetHmenu(), (UINT)pos, MF_BYPOSITION) ) { wxLogLastError(wxT("RemoveMenu")); } if ( IsAttached() && GetMenuBar()->IsAttached() ) { // otherwise, the change won't be visible GetMenuBar()->Refresh(); } // and from internal data structures return wxMenuBase::DoRemove(item);}
开发者ID:CodeSmithyIDE,项目名称:wxWidgets,代码行数:43,
示例21: wxASSERT_MSGvoid wxMenu::CalculateMaxAccelWidth(){ wxASSERT_MSG( m_maxAccelWidth == -1, wxT("it's really needed?") ); wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); while (node) { wxMenuItem* item = node->GetData(); if ( item->IsOwnerDrawn() ) { int width = item->MeasureAccelWidth(); if (width > m_maxAccelWidth ) m_maxAccelWidth = width; } node = node->GetNext(); }}
开发者ID:Zombiebest,项目名称:Dolphin,代码行数:19,
示例22: wxDoChangeForegroundColourvoid wxMenu::SetForegroundColour(const wxColour& col){ m_foregroundColour = col; if (m_menuWidget) wxDoChangeForegroundColour(m_menuWidget, (wxColour&) col); if (m_buttonWidget) wxDoChangeForegroundColour(m_buttonWidget, (wxColour&) col); for ( wxMenuItemList::compatibility_iterator node = GetMenuItems().GetFirst(); node; node = node->GetNext() ) { wxMenuItem* item = node->GetData(); if (item->GetButtonWidget()) { // This crashes because it uses gadgets // wxDoChangeForegroundColour(item->GetButtonWidget(), (wxColour&) col); } if (item->GetSubMenu()) item->GetSubMenu()->SetForegroundColour((wxColour&) col); }}
开发者ID:LuaDist,项目名称:wxwidgets,代码行数:22,
示例23: MacAfterDisplay// undo all changes from the MacBeforeDisplay callvoid wxMenu::MacAfterDisplay( bool isSubMenu ){ if ( isSubMenu ) ::DeleteMenu(MacGetMenuId()); wxMenuItemList::compatibility_iterator node; wxMenuItem *item; for (node = GetMenuItems().GetFirst(); node; node = node->GetNext()) { item = (wxMenuItem *)node->GetData(); wxMenu* subMenu = item->GetSubMenu() ; if (subMenu) { subMenu->MacAfterDisplay( true ) ; } else { // no need to undo hidings } }}
开发者ID:czxxjtu,项目名称:wxPython-1,代码行数:23,
注:本文中的GetMenuItems函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ GetMenuSession函数代码示例 C++ GetMenuItemInfo函数代码示例 |