本文整理汇总了C++中wxKeyEvent::AltDown方法的典型用法代码示例。如果您正苦于以下问题:C++ wxKeyEvent::AltDown方法的具体用法?C++ wxKeyEvent::AltDown怎么用?C++ wxKeyEvent::AltDown使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxKeyEvent
的用法示例。
在下文中一共展示了wxKeyEvent::AltDown方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnKeyup
virtual void OnKeyup(wxKeyEvent& event)
{
int key = event.GetKeyCode();
// printf("ku:%c\n", key);
dword flags = 0;
if(event.AltDown()) flags |= KF_ALT;
if(event.ShiftDown()) flags |= KF_SHIFT;
TranslateKey(key, flags);
Handler()->OnKey(key, OpJoyKeyFlags());
}
示例2:
KeyAcceleratorCode::KeyAcceleratorCode( const wxKeyEvent& evt )
{
val32 = 0;
keycode = evt.GetKeyCode();
if( evt.AltDown() ) Alt();
if( evt.CmdDown() ) Cmd();
if( evt.ShiftDown() ) Shift();
}
示例3: OnKeyDown
void ecConfigTreeCtrl::OnKeyDown(wxKeyEvent& event)
{
wxTreeItemId id = GetSelection();
if (event.GetKeyCode() == WXK_F10 && event.ShiftDown())
{
if (id.IsOk())
{
wxRect rect;
if (GetBoundingRect(id, rect))
{
GetPropertiesMenu()->SetClientData((void*) TRUE);
PopupMenu(GetPropertiesMenu(), 100, rect.GetTop() + 4);
}
}
}
else if (event.GetKeyCode() == '<')
{
if (id.IsOk())
{
ecConfigItem* item = ((ecTreeItemData*) GetItemData(id))->GetConfigItem();
item->BumpItem(-1);
}
}
else if (event.GetKeyCode() == '>')
{
if (id.IsOk())
{
ecConfigItem* item = ((ecTreeItemData*) GetItemData(id))->GetConfigItem();
item->BumpItem(+1);
}
}
else if (event.GetKeyCode() == WXK_SPACE)
{
if (id.IsOk())
{
ecConfigItem* item = ((ecTreeItemData*) GetItemData(id))->GetConfigItem();
item->BumpItem(0);
}
}
else if (event.GetKeyCode() == WXK_RETURN && event.AltDown())
{
if (id.IsOk())
{
ecConfigItem* item = ((ecTreeItemData*) GetItemData(id))->GetConfigItem();
ecConfigPropertiesDialog dialog(wxGetApp().GetTopWindow(), item);
dialog.SetTitle(item->GetName());
dialog.ShowModal();
}
}
else
{
event.Skip();
}
}
示例4: IsKeyPopupToggle
bool wxGenericComboCtrl::IsKeyPopupToggle(const wxKeyEvent& event) const
{
int keycode = event.GetKeyCode();
bool isPopupShown = IsPopupShown();
// This code is AFAIK appropriate for wxGTK.
if ( isPopupShown )
{
if ( keycode == WXK_ESCAPE ||
( keycode == WXK_UP && event.AltDown() ) )
return true;
}
else
{
if ( keycode == WXK_DOWN && event.AltDown() )
return true;
}
return false;
}
示例5: OnChar
void MyFrame::OnChar( wxKeyEvent& event )
{
wxCommandEvent evt;
if ( event.m_keyCode == WXK_F1 )
{
OnFirst( evt );
}
else
{
if ( event.m_keyCode == WXK_F2 )
{
OnSecond( evt );
}
else
{
if ( event.m_keyCode == WXK_F3 )
{
OnThird( evt );
}
if ( event.m_keyCode == WXK_F4 && !event.AltDown() )
{
// "AI" :-)
wxMessageBox(_("There are only 3 layouts in this demo :-("));
}
else
{
if ( event.m_keyCode == WXK_TAB )
{
// USEFUL TRICK:: avoids flickering of application's frame
// when closing NN windows on exit:
Show(false);
if ( (mAutoSave && mSavedAlready) || !mAutoSave )
{
}
else
{
wxCommandEvent evt;
OnStore(evt);
}
Destroy();
}
else
{
event.Skip();
}
}
}
}
}
示例6: OnChar
/// Key press
void InstanceCtrl::OnChar(wxKeyEvent& event)
{
int flags = 0;
if (event.ControlDown())
flags |= wxINST_CTRL_DOWN;
if (event.ShiftDown())
flags |= wxINST_SHIFT_DOWN;
if (event.AltDown())
flags |= wxINST_ALT_DOWN;
if (event.GetKeyCode() == WXK_LEFT ||
event.GetKeyCode() == WXK_RIGHT ||
event.GetKeyCode() == WXK_UP ||
event.GetKeyCode() == WXK_DOWN ||
event.GetKeyCode() == WXK_HOME ||
event.GetKeyCode() == WXK_PAGEUP ||
event.GetKeyCode() == WXK_PAGEDOWN ||
event.GetKeyCode() == WXK_END)
{
Navigate(event.GetKeyCode(), flags);
}
if (event.GetKeyCode() == WXK_RETURN)
{
InstanceCtrlEvent cmdEvent(
wxEVT_COMMAND_INST_ACTIVATE,
GetId());
cmdEvent.SetEventObject(this);
cmdEvent.SetFlags(flags);
GetEventHandler()->ProcessEvent(cmdEvent);
}
else if (event.GetKeyCode() == WXK_DELETE)
{
InstanceCtrlEvent cmdEvent(
wxEVT_COMMAND_INST_DELETE,
GetId());
cmdEvent.SetEventObject(this);
cmdEvent.SetFlags(flags);
GetEventHandler()->ProcessEvent(cmdEvent);
}
else if (event.GetKeyCode() == WXK_F2)
{
InstanceCtrlEvent cmdEvent(
wxEVT_COMMAND_INST_RENAME,
GetId());
cmdEvent.SetEventObject(this);
cmdEvent.SetFlags(flags);
GetEventHandler()->ProcessEvent(cmdEvent);
}
else
event.Skip();
}
示例7: OnKeyEvent
void WinEDA_DrawPanel::OnKeyEvent(wxKeyEvent& event)
/****************************************************/
{
long key, localkey;
bool escape = FALSE;
key = localkey = event.m_keyCode;
switch( localkey )
{
case WXK_CONTROL:
case WXK_CAPITAL:
case WXK_SHIFT:
case WXK_NUMLOCK:
case WXK_LBUTTON:
case WXK_RBUTTON:
case 0x0135: /* Alt key */
return;
case WXK_ESCAPE:
escape = m_AbortRequest = TRUE;
break;
}
if( event.ControlDown() ) localkey |= GR_KB_CTRL;
if( event.AltDown() ) localkey |= GR_KB_ALT;
if( event.ShiftDown() && (key > 256) ) localkey |= GR_KB_SHIFT;
wxClientDC DC(this);
BASE_SCREEN * Screen = GetScreen();
PrepareGraphicContext(&DC);
g_KeyPressed = localkey;
if ( escape )
{
if( Screen->ManageCurseur && Screen->ForceCloseManageCurseur )
{
SetCursor(m_PanelCursor = m_PanelDefaultCursor);
Screen->ForceCloseManageCurseur(m_Parent, &DC);
SetCursor(m_PanelCursor = m_PanelDefaultCursor);
}
else m_Parent->SetToolID(0, m_PanelCursor = m_PanelDefaultCursor = wxCURSOR_ARROW, wxEmptyString);
}
m_Parent->GeneralControle(&DC, Screen->m_MousePosition);
}
示例8: wxString
PlatformKeyboardEvent::PlatformKeyboardEvent(wxKeyEvent& event)
{
m_text = wxString(event.GetUnicodeKey());
m_unmodifiedText = m_text;
m_keyIdentifier = keyIdentifierForWxKeyCode(event.GetKeyCode());
m_isKeyUp = event.GetEventType() == wxEVT_KEY_UP;
m_autoRepeat = false; // FIXME: not correct.
m_WindowsKeyCode = windowsKeyCodeForKeyEvent(event.GetKeyCode());
m_isKeypad = (event.GetKeyCode() >= WXK_NUMPAD_SPACE) && (event.GetKeyCode() <= WXK_NUMPAD_DIVIDE);
m_shiftKey = event.ShiftDown();
m_ctrlKey = event.CmdDown();
m_altKey = event.AltDown();
m_metaKey = event.MetaDown();
}
示例9: OnKey
void AudacityApp::OnKey(wxKeyEvent& event)
{
AudacityProject *audacityPrj = GetActiveProject();
wxString newStr = "";
long key = event.GetKeyCode();
if(event.ControlDown())
newStr += "Ctrl+";
if(event.AltDown())
newStr += "Alt+";
if(event.ShiftDown())
newStr += "Shift+";
if (event.ControlDown() && key >= 1 && key <= 26)
newStr += (char)(64 + key);
else if (key >= 33 && key <= 126)
newStr += (char)key;
else if (key == WXK_BACK)
newStr = "Backspace";
else if (key == WXK_DELETE)
newStr = "Delete";
else if (key == WXK_SPACE)
newStr = "Spacebar";
else
{
event.Skip();
return; // Don't change it if we don't recognize the key
}
if(audacityPrj->IsActive())
{
int commandIndex = audacityPrj->FindCommandByCombos(newStr);
if(audacityPrj->GetCommandState(commandIndex) == enabledMenu)
{
audEventFunction audFunc = audacityPrj->GetCommandFunc(commandIndex);
if(audFunc)
(audacityPrj->*((wxEventFunction) audFunc))(event);
return;
}
}
event.Skip();
}
示例10: OnChar
void CComposeBarEditBox::OnChar(wxKeyEvent& event)
{
// intercept the Enter key and make it call the OnAdvanceButton() handler
if (event.GetKeyCode() == WXK_RETURN)
{
wxCommandEvent bevent;
gpApp->GetFreeTrans()->OnAdvanceButton(bevent);
return; // don't call skip - we don't want the end-of-line character entered
// into the edit box
}
// only call skip when ALT key is NOT down (to avoid base class making a beep)
if (!event.AltDown())
event.Skip();
// The actual text characters typed in the compose bar's edit box go through here
}
示例11: OnKeydown
virtual void OnKeydown(wxKeyEvent& event)
{
int key = event.GetKeyCode();
if(HasCapture() && key == WXK_ESCAPE)
{
KillMouseFocus();
return;
}
// printf("kd:%c\n", key);
dword flags = KF_DOWN|OpJoyKeyFlags();
if(event.AltDown()) flags |= KF_ALT;
if(event.ShiftDown()) flags |= KF_SHIFT;
TranslateKey(key, flags);
Handler()->OnKey(key, flags);
}
示例12: IsKeyPopupToggle
bool wxComboCtrl::IsKeyPopupToggle(const wxKeyEvent& event) const
{
const bool isPopupShown = IsPopupShown();
switch ( event.GetKeyCode() )
{
case WXK_F4:
// F4 toggles the popup in the native comboboxes, so emulate them
if ( !event.AltDown() )
return true;
break;
case WXK_ESCAPE:
if ( isPopupShown )
return true;
break;
case WXK_DOWN:
case WXK_UP:
// On XP or with writable combo in Classic, arrows don't open the
// popup but Alt-arrow does
if ( event.AltDown() ||
( !isPopupShown &&
HasFlag(wxCB_READONLY)
#if wxUSE_UXTHEME
&& !wxUxThemeEngine::GetIfActive()
#endif
) )
{
return true;
}
break;
}
return false;
}
示例13: if
PlatformKeyboardEvent::PlatformKeyboardEvent(wxKeyEvent& event)
{
if (event.GetEventType() == wxEVT_KEY_UP)
m_type = PlatformEvent::KeyUp;
else if (event.GetEventType() == wxEVT_KEY_DOWN)
m_type = PlatformEvent::KeyDown;
else if (event.GetEventType() == wxEVT_CHAR)
m_type = PlatformEvent::Char;
else
ASSERT_NOT_REACHED();
if (m_type != PlatformEvent::Char)
m_keyIdentifier = keyIdentifierForWxKeyCode(event.GetKeyCode());
else {
//ENTER is an editing command processed as a char (only Enter and Tab are)
//unfortunately the unicode key for numpad_enter (370) is NOT what we want here (13)
//The unicode values for normal enter and tab are the same as the ASCII values, thus ok
//Note that I think this a wx bug, as the Character Code is actually 13 when
//numpad_enter is a CHAR event.
if (event.GetKeyCode() == 13 && event.GetUnicodeKey() == wxChar(370))
m_text = "\r";
else
m_text = wxString(event.GetUnicodeKey());
m_unmodifiedText = m_text;
}
m_autoRepeat = false; // FIXME: not correct.
m_windowsVirtualKeyCode = windowsKeyCodeForKeyEvent(event.GetKeyCode());
m_nativeVirtualKeyCode = event.GetKeyCode();
m_isKeypad = (event.GetKeyCode() >= WXK_NUMPAD_SPACE) && (event.GetKeyCode() <= WXK_NUMPAD_DIVIDE);
m_modifiers = 0;
if (event.ShiftDown())
m_modifiers |= ShiftKey;
if (event.CmdDown())
m_modifiers |= CtrlKey;
if (event.AltDown())
m_modifiers |= AltKey;
if (event.MetaDown())
m_modifiers |= MetaKey;
m_timestamp = WTF::currentTime();
}
示例14:
void CMyGLCanvas_DisplayWindow3D::display3D_processKeyEvent(
CDisplayWindow3D* m_win3D, wxKeyEvent& ev)
{
if (m_win3D)
{
if (ev.AltDown() && ev.GetKeyCode() == MRPTK_RETURN)
{
if (mrpt::system::timeDifference(
m_win3D->m_lastFullScreen, mrpt::system::now()) > 0.2)
{
m_win3D->m_lastFullScreen = mrpt::system::now();
cout << "[CDisplayWindow3D] Switching fullscreen...\n";
C3DWindowDialog* win = (C3DWindowDialog*)m_win3D->m_hwnd.get();
if (win)
{
win->ShowFullScreen(!win->IsFullScreen());
}
}
// Alt+Enter: Don't notify on this key stroke, since if we're
// switching to fullscreen
// and the user is waiting for a key to close the window, a runtime
// crash will occur,
// so return now:
return;
}
const int code = ev.GetKeyCode();
const mrptKeyModifier mod = mrpt::gui::keyEventToMrptKeyModifier(ev);
m_win3D->m_keyPushedCode = code;
m_win3D->m_keyPushedModifier = mod;
m_win3D->m_keyPushed = true;
// Send the event:
try
{
m_win3D->publishEvent(mrptEventWindowChar(m_win3D, code, mod));
}
catch (...)
{
}
}
// ev.Skip(); // Pass the event to whoever else.
}
示例15: OnChar
void RegTreeCtrl::OnChar(wxKeyEvent& event)
{
switch ( event.GetKeyCode() )
{
case WXK_DELETE:
DeleteSelected();
return;
case WXK_RETURN:
if ( event.AltDown() )
{
ShowProperties();
return;
}
}
event.Skip();
}