本文整理汇总了C++中wxKeyEvent::GetModifiers方法的典型用法代码示例。如果您正苦于以下问题:C++ wxKeyEvent::GetModifiers方法的具体用法?C++ wxKeyEvent::GetModifiers怎么用?C++ wxKeyEvent::GetModifiers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxKeyEvent
的用法示例。
在下文中一共展示了wxKeyEvent::GetModifiers方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnChar
void wxGxTreeViewBase::OnChar(wxKeyEvent& event)
{
if(event.GetModifiers() & wxMOD_ALT)
return;
if(event.GetModifiers() & wxMOD_CONTROL)
return;
if(event.GetModifiers() & wxMOD_SHIFT)
return;
switch(event.GetKeyCode())
{
case WXK_DELETE:
case WXK_NUMPAD_DELETE:
if(m_pDeleteCmd)
m_pDeleteCmd->OnClick();
break;
case WXK_UP:
SelectItem(GetPrevVisible(GetSelection()));
break;
case WXK_DOWN:
SelectItem(GetNextVisible(GetSelection()));
break;
default:
break;
}
}
示例2: OnChar
void wxGxContentView::OnChar(wxKeyEvent& event)
{
if(event.GetModifiers() & wxMOD_ALT)
return;
if(event.GetModifiers() & wxMOD_CONTROL)
return;
switch(event.GetKeyCode())
{
case WXK_DELETE:
case WXK_NUMPAD_DELETE:
if (event.GetModifiers() & wxMOD_SHIFT)
{
//TODO: complete delete
}
else
{
if (NULL != m_pDeleteCmd)
{
//TODO: delete to trash can
m_pDeleteCmd->OnClick();
}
}
break;
case WXK_UP:
case WXK_DOWN:
SelectItem(event.GetKeyCode(), event.GetModifiers() & wxMOD_SHIFT);
break;
default:
break;
}
}
示例3: On_Key_Down
//---------------------------------------------------------
void CVIEW_Map_Control::On_Key_Down(wxKeyEvent &event)
{
if( m_pMap->Find_Layer(Get_Active_Layer()) && Get_Active_Layer()->Edit_On_Key_Down(event.GetKeyCode()) )
{
return;
}
switch( event.GetKeyCode() )
{
default:
event.Skip();
break;
case WXK_PAGEUP:
_Zoom(m_pMap->Get_Extent().Get_Center(), true);
break;
case WXK_PAGEDOWN:
_Zoom(m_pMap->Get_Extent().Get_Center(), false);
break;
case WXK_LEFT:
_Move(wxPoint(-10, 0));
break;
case WXK_RIGHT:
_Move(wxPoint( 10, 0));
break;
case WXK_UP:
_Move(wxPoint( 0, -10));
break;
case WXK_DOWN:
_Move(wxPoint( 0, 10));
break;
case WXK_F2:
m_pMap->SaveAs_Image();
break;
case 'C':
if( event.GetModifiers() == wxMOD_CONTROL )
{
m_pMap->SaveAs_Image_Clipboard(false);
}
else if( event.GetModifiers() == wxMOD_ALT )
{
m_pMap->SaveAs_Image_Clipboard(GetClientSize().x, GetClientSize().y, -1);
}
break;
case 'L':
if( event.GetModifiers() == wxMOD_CONTROL )
{
m_pMap->SaveAs_Image_Clipboard(true);
}
}
}
示例4: OnChar
void wxGISToolExecuteView::OnChar(wxKeyEvent& event)
{
if(event.GetModifiers() & wxMOD_ALT)
return;
if(event.GetModifiers() & wxMOD_CONTROL)
return;
if(event.GetModifiers() & wxMOD_SHIFT)
return;
switch(event.GetKeyCode())
{
case WXK_DELETE:
case WXK_NUMPAD_DELETE:
if(m_pDeleteCmd)
m_pDeleteCmd->OnClick();
break;
case WXK_UP:
{
long nSelItem = GetNextItem(wxNOT_FOUND, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
if(nSelItem == wxNOT_FOUND)
SetItemState(0, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
else
{
SetItemState(nSelItem, wxLIST_STATE_DONTCARE, wxLIST_STATE_SELECTED);
if(nSelItem == 0)
{
SetItemState(GetItemCount() - 1, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
}
else
{
SetItemState(nSelItem - 1, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
}
}
}
break;
case WXK_DOWN:
{
long nSelItem = GetNextItem(wxNOT_FOUND, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
if(nSelItem == wxNOT_FOUND)
SetItemState(0, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
else
{
SetItemState(nSelItem, wxLIST_STATE_DONTCARE, wxLIST_STATE_SELECTED);
if(nSelItem == GetItemCount() - 1)
{
SetItemState(0, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
}
else
{
SetItemState(nSelItem + 1, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
}
}
}
break;
default:
break;
}
}
示例5: OnLevelTableKeyPress
void STISpectrumDialog::OnLevelTableKeyPress( wxKeyEvent& event )
{
#ifndef __WXMAC__
if( (event.GetModifiers() == 3) ) // Ctrl+C ascii translated code.
#else
if( (event.GetModifiers() == wxMOD_CMD) && // Command+C on Apple machines
event.GetKeyCode() == 99 )
#endif
{
wxCommandEvent cmd(wxEVT_COMMAND_MENU_SELECTED, ID_LEVEL_COPY_SELECTION_MENU);
OnLevelTableCopySelection(cmd);
}
}
示例6: OnKeyDown
void IncrementalSearch::OnKeyDown(wxKeyEvent& event)
{
if(m_pTextCtrl)
{
m_LastInsertionPoint = m_pTextCtrl->GetInsertionPoint();
}
if(!m_IsAttached || !m_pEditor || !m_pEditor->GetControl() )
{
event.Skip();
return;
}
if(event.GetModifiers() == wxMOD_ALT && event.GetKeyCode() == WXK_DELETE)
{
DoClearText();
}
else if(event.GetModifiers() == wxMOD_SHIFT && event.GetKeyCode() == WXK_RETURN)
{
if(m_pToolbar->GetToolEnabled(XRCID("idIncSearchPrev")))
DoSearchPrev();
}
else if(event.GetModifiers() == wxMOD_NONE && event.GetKeyCode() == WXK_ESCAPE)
{
cbStyledTextCtrl* control = m_pEditor->GetControl();
// delete all stylings for found phrases
control->SetIndicatorCurrent(m_IndicFound);
control->IndicatorClearRange(0, control->GetLength());
// then for highlighted phrases
control->SetIndicatorCurrent(m_IndicHighlight);
control->IndicatorClearRange(0, control->GetLength());
control->GotoPos(m_NewPos);
CodeBlocksEvent evt(cbEVT_CURSOR_POS_SAVE);
Manager::Get()->GetPluginManager()->NotifyPlugins(evt);
if(Manager::Get()->GetConfigManager(_T("editor"))->ReadBool(_T("/incremental_search/select_found_text_on_escape"),false))
{
m_SelStart = m_NewPos;
m_SelEnd = m_SelStart + m_LengthFound;
m_OldPos = m_NewPos;
control->SetSelectionVoid(m_SelStart, m_SelEnd);
}
control->SetFocus();
}
else
{
event.Skip();
}
}
示例7: OnCharHook
void FileEditorWnd::OnCharHook(wxKeyEvent& event)
{
int modifiers = event.GetModifiers();
auto keycode = event.GetKeyCode();
if (modifiers == wxMOD_CONTROL && keycode == 'S') // Save
{
save();
}
else if (modifiers == wxMOD_CONTROL && keycode == 'R')
{
/*
m_textCtrl->DiscardEdits();
m_textCtrl->LoadFile(m_file->fullpath.widen());
*/
}
else if (modifiers == 0 && keycode == WXK_F9)
{
doBreakpoint(m_textCtrl->GetCurrentLine());
}
else // Skip this event (nothing we have to do)
{
event.Skip();
}
}
示例8: IsEscapeKey
// On mac command-stop does the same thing as Esc, let the base class know
// about it
bool wxDialog::IsEscapeKey(const wxKeyEvent& event)
{
if ( event.GetKeyCode() == '.' && event.GetModifiers() == wxMOD_CMD )
return true;
return wxDialogBase::IsEscapeKey(event);
}
示例9: OnKey
void KeyMonitorTextCtrl::OnKey(wxKeyEvent &event)
{
if(event.GetKeyCode() != 308){
//printf("key:%d %d\n", event.GetKeyCode(), event.GetModifiers());
}
// backspace cannot be used as shortcut key...
if (event.GetKeyCode() == WXK_BACK)
{
// this text ctrl contains something and the user pressed backspace...
// we must delete the keypress...
Clear();
return;
}
if (event.GetEventType() == wxEVT_KEY_DOWN ||
(event.GetEventType() == wxEVT_KEY_UP && !IsValidKeyComb()))
{
// the user pressed some key combination which must be displayed
// in this text control.... or he has just stopped pressing a
// modifier key like shift, ctrl or alt without adding any
// other alphanumeric char, thus generating an invalid keystroke
// which must be cleared out...
KeyBinder::Key key;
key.code = event.GetKeyCode();
key.flags = event.GetModifiers();
SetValue(KeyBinder::GetKeyBindingAsText(key));
SetInsertionPointEnd();
}
}
示例10: OnKeyDown
void wxTextCtrl::OnKeyDown(wxKeyEvent& event)
{
if ( event.GetModifiers() == wxMOD_CONTROL )
{
switch( event.GetKeyCode() )
{
case 'A':
SelectAll();
return;
case 'C':
if ( CanCopy() )
Copy() ;
return;
case 'V':
if ( CanPaste() )
Paste() ;
return;
case 'X':
if ( CanCut() )
Cut() ;
return;
default:
break;
}
}
// no, we didn't process it
event.Skip();
}
示例11: OnKeyDown
void CKeyInputCtrl::OnKeyDown(wxKeyEvent &event)
{
int nKeyCode = event.GetKeyCode();
OnKeysModifierChange(event.GetModifiers());
SetValue(GetKeyCodeAsString(nKeyCode));
event.Skip(true);
}
示例12: onKeyUp
/* MapCanvas::onKeyUp
* Called when a key is released within the canvas
*******************************************************************/
void MapCanvas::onKeyUp(wxKeyEvent& e)
{
// Send to editor
context_->input().updateKeyModifiersWx(e.GetModifiers());
context_->input().keyUp(KeyBind::keyName(e.GetKeyCode()));
e.Skip();
}
示例13: OnKeyDown
void CQueueViewBase::OnKeyDown(wxKeyEvent& event)
{
const int code = event.GetKeyCode();
const int mods = event.GetModifiers();
if (code == 'A' && (mods == wxMOD_CMD || mods == (wxMOD_CONTROL | wxMOD_META))) {
for (unsigned int i = 0; i < (unsigned int)GetItemCount(); i++)
SetItemState(i, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
}
else
event.Skip();
}
示例14: onKeyDown
/* InputKeyCtrl::onKeyDown
* Called when a key is pressed in the control
*******************************************************************/
void InputKeyCtrl::onKeyDown(wxKeyEvent& e)
{
// Ignore if modifier key
if (e.GetKeyCode() == WXK_SHIFT || e.GetKeyCode() == WXK_ALT || e.GetKeyCode() == WXK_CONTROL || e.GetKeyCode() == WXK_COMMAND)
{
e.Skip();
return;
}
key = KeyBind::asKeyPress(e.GetKeyCode(), e.GetModifiers());
SetValue(key.as_string());
}
示例15: OnKey
void cWindowInputCtrl::OnKey(wxKeyEvent& e) {
if (e.GetModifiers() == wxMOD_CONTROL) {
if (e.GetKeyCode() == 0x4B) { // K key
cColorDialog *Dialog = new cColorDialog(wxGetApp().GetTopWindow(),wxID_ANY,wxString("Pick a Color"),wxDefaultPosition,wxSize(300,300));
Dialog->m_WindowID = m_WindowID;
Dialog->m_WindowType = m_WindowType;
Dialog->Ask();
return;
}
}
e.Skip();
}