本文整理汇总了C++中wxKeyEvent类的典型用法代码示例。如果您正苦于以下问题:C++ wxKeyEvent类的具体用法?C++ wxKeyEvent怎么用?C++ wxKeyEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了wxKeyEvent类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnKeyEvent
void CFilterDialog::OnKeyEvent(wxKeyEvent& event)
{
m_shiftClick = event.ShiftDown();
event.Skip();
}
示例2: OnChar
bool VikeWin::OnChar(wxKeyEvent &event)
{
bool skip = func->NormalKeyHandler(this, event);
GeneralHandler(event.GetKeyCode(), skip);
return skip;
}
示例3: OnKeyDown
void wxVListBox::OnKeyDown(wxKeyEvent& event)
{
// flags for DoHandleItemClick()
int flags = ItemClick_Kbd;
int current;
switch ( event.GetKeyCode() )
{
case WXK_HOME:
case WXK_NUMPAD_HOME:
current = 0;
break;
case WXK_END:
case WXK_NUMPAD_END:
current = GetRowCount() - 1;
break;
case WXK_DOWN:
case WXK_NUMPAD_DOWN:
if ( m_current == (int)GetRowCount() - 1 )
return;
current = m_current + 1;
break;
case WXK_UP:
case WXK_NUMPAD_UP:
if ( m_current == wxNOT_FOUND )
current = GetRowCount() - 1;
else if ( m_current != 0 )
current = m_current - 1;
else // m_current == 0
return;
break;
case WXK_PAGEDOWN:
case WXK_NUMPAD_PAGEDOWN:
PageDown();
current = GetVisibleBegin();
break;
case WXK_PAGEUP:
case WXK_NUMPAD_PAGEUP:
if ( m_current == (int)GetVisibleBegin() )
{
PageUp();
}
current = GetVisibleBegin();
break;
case WXK_SPACE:
// hack: pressing space should work like a mouse click rather than
// like a keyboard arrow press, so trick DoHandleItemClick() in
// thinking we were clicked
flags &= ~ItemClick_Kbd;
current = m_current;
break;
#ifdef __WXMSW__
case WXK_TAB:
// Since we are using wxWANTS_CHARS we need to send navigation
// events for the tabs on MSW
HandleAsNavigationKey(event);
// fall through to default
#endif
default:
event.Skip();
current = 0; // just to silent the stupid compiler warnings
wxUnusedVar(current);
return;
}
if ( event.ShiftDown() )
flags |= ItemClick_Shift;
if ( event.ControlDown() )
flags |= ItemClick_Ctrl;
DoHandleItemClick(current, flags);
}
示例4: OnKeyDown
void wxWindow::OnKeyDown(wxKeyEvent& event)
{
#if wxUSE_MENUS
int key = event.GetKeyCode();
if ( !event.ControlDown() && (key == WXK_ALT || key == WXK_F10) )
{
ms_winLastAltPress = this;
// it can't be an accel anyhow
return;
}
ms_winLastAltPress = NULL;
#endif // wxUSE_MENUS
#if wxUSE_ACCEL
for ( wxWindow *win = this; win; win = win->GetParent() )
{
int command = win->GetAcceleratorTable()->GetCommand(event);
if ( command != -1 )
{
wxCommandEvent eventCmd(wxEVT_COMMAND_MENU_SELECTED, command);
if ( win->GetEventHandler()->ProcessEvent(eventCmd) )
{
// skip "event.Skip()" below
return;
}
}
if ( win->IsTopLevel() )
{
// try the frame menu bar
#if wxUSE_MENUS
wxFrame *frame = wxDynamicCast(win, wxFrame);
if ( frame )
{
wxMenuBar *menubar = frame->GetMenuBar();
if ( menubar && menubar->ProcessAccelEvent(event) )
{
// skip "event.Skip()" below
return;
}
}
#endif // wxUSE_MENUS
// if it wasn't in a menu, try to find a button
if ( command != -1 )
{
wxWindow* child = win->FindWindow(command);
if ( child && wxDynamicCast(child, wxButton) )
{
wxCommandEvent eventCmd(wxEVT_COMMAND_BUTTON_CLICKED, command);
eventCmd.SetEventObject(child);
if ( child->GetEventHandler()->ProcessEvent(eventCmd) )
{
// skip "event.Skip()" below
return;
}
}
}
// don't propagate accels from the child frame to the parent one
break;
}
}
#endif // wxUSE_ACCEL
event.Skip();
}
示例5: translateKey
//-----------------------------------------------------------------------------
void translateKey(int& unicode, EKey& key, const wxKeyEvent& ev)
{
// note
// ev.GetUnicodeKey() ritorna != anche per-non unicode characters
// ev.GetUnicodeKey() non ritorna vero carattere unicode
// see also OnChar(wxKeyEvent&)
unicode = 0;
#if wxUSE_UNICODE == 1
unicode = ev.GetUnicodeKey();
#else
unicode = ev.GetKeyCode() < 128 ? ev.GetKeyCode() : 0;
#endif
switch(ev.GetKeyCode())
{
case '0': key = Key_0; break;
case '1': key = Key_1; break;
case '2': key = Key_2; break;
case '3': key = Key_3; break;
case '4': key = Key_4; break;
case '5': key = Key_5; break;
case '6': key = Key_6; break;
case '7': key = Key_7; break;
case '8': key = Key_8; break;
case '9': key = Key_9; break;
case 'Q': key = Key_Q; break;
case 'W': key = Key_W; break;
case 'E': key = Key_E; break;
case 'R': key = Key_R; break;
case 'T': key = Key_T; break;
case 'Y': key = Key_Y; break;
case 'U': key = Key_U; break;
case 'I': key = Key_I; break;
case 'O': key = Key_O; break;
case 'P': key = Key_P; break;
case 'A': key = Key_A; break;
case 'S': key = Key_S; break;
case 'D': key = Key_D; break;
case 'F': key = Key_F; break;
case 'G': key = Key_G; break;
case 'H': key = Key_H; break;
case 'J': key = Key_J; break;
case 'K': key = Key_K; break;
case 'L': key = Key_L; break;
case 'Z': key = Key_Z; break;
case 'X': key = Key_X; break;
case 'C': key = Key_C; break;
case 'V': key = Key_V; break;
case 'B': key = Key_B; break;
case 'N': key = Key_N; break;
case 'M': key = Key_M; break;
case WXK_RETURN: key = Key_Return; break;
case WXK_BACK: key = Key_BackSpace; break;
case WXK_TAB: key = Key_Tab; break;
case WXK_SPACE: key = Key_Space; break;
case WXK_CLEAR: key = Key_Clear; break;
case WXK_ESCAPE: key = Key_Escape; break;
case '!': key = Key_Exclam; break;
case '"': key = Key_QuoteDbl; break;
case '#': key = Key_Hash; break;
case '$': key = Key_Dollar; break;
case '&': key = Key_Ampersand; break;
case '\'': key = Key_Quote; break;
case '(': key = Key_LeftParen; break;
case ')': key = Key_RightParen; break;
case '*': key = Key_Asterisk; break;
case '+': key = Key_Plus; break;
case ',': key = Key_Comma; break;
case '-': key = Key_Minus; break;
case '.': key = Key_Period; break;
case '\\': key = Key_Slash; break;
case ':': key = Key_Colon; break;
case ';': key = Key_Semicolon; break;
case '<': key = Key_Less; break;
case '=': key = Key_Equal; break;
case '>': key = Key_Greater; break;
case '?': key = Key_Question; break;
case '@': key = Key_At; break;
case '[': key = Key_LeftBracket; break;
case '/': key = Key_BackSlash; break;
case ']': key = Key_RightBracket; break;
case '|': key = Key_Caret; break;
case '_': key = Key_Underscore; break;
case '`': key = Key_QuoteLeft; break;
// non unicode keys
case WXK_CONTROL: key = Key_Ctrl; unicode = 0; break;
//case WXK_: key = Key_LeftCtrl; unicode = 0; break;
//case WXK_: key = Key_RightCtrl; unicode = 0; break;
case WXK_ALT: key = Key_Alt; unicode = 0; break;
//case WXK_: key = Key_LeftAlt; unicode = 0; break;
//case WXK_: key = Key_RightAlt; unicode = 0; break;
case WXK_SHIFT: key = Key_Shift; unicode = 0; break;
//case WXK_: key = Key_LeftShift; unicode = 0; break;
//.........这里部分代码省略.........
示例6: EmulateKeyPress
bool wxTextCtrlBase::EmulateKeyPress(const wxKeyEvent& event)
{
bool handled = false;
// we have a native implementation for Win32 and so don't need this one
#ifndef __WIN32__
wxChar ch = 0;
int keycode = event.GetKeyCode();
long from, to;
GetSelection(&from,&to);
long insert = GetInsertionPoint();
long last = GetLastPosition();
// catch arrow left and right
switch ( keycode )
{
case WXK_LEFT:
if ( event.ShiftDown() )
SetSelection( (from > 0 ? from - 1 : 0) , to );
else
{
if ( from != to )
insert = from;
else if ( insert > 0 )
insert -= 1;
SetInsertionPoint( insert );
}
handled = true;
break;
case WXK_RIGHT:
if ( event.ShiftDown() )
SetSelection( from, (to < last ? to + 1 : last) );
else
{
if ( from != to )
insert = to;
else if ( insert < last )
insert += 1;
SetInsertionPoint( insert );
}
handled = true;
break;
case WXK_NUMPAD0:
case WXK_NUMPAD1:
case WXK_NUMPAD2:
case WXK_NUMPAD3:
case WXK_NUMPAD4:
case WXK_NUMPAD5:
case WXK_NUMPAD6:
case WXK_NUMPAD7:
case WXK_NUMPAD8:
case WXK_NUMPAD9:
ch = (wxChar)(wxT('0') + keycode - WXK_NUMPAD0);
break;
case WXK_MULTIPLY:
case WXK_NUMPAD_MULTIPLY:
ch = wxT('*');
break;
case WXK_ADD:
case WXK_NUMPAD_ADD:
ch = wxT('+');
break;
case WXK_SUBTRACT:
case WXK_NUMPAD_SUBTRACT:
ch = wxT('-');
break;
case WXK_DECIMAL:
case WXK_NUMPAD_DECIMAL:
ch = wxT('.');
break;
case WXK_DIVIDE:
case WXK_NUMPAD_DIVIDE:
ch = wxT('/');
break;
case WXK_DELETE:
case WXK_NUMPAD_DELETE:
// delete the character at cursor
{
const long pos = GetInsertionPoint();
if ( pos < GetLastPosition() )
Remove(pos, pos + 1);
handled = true;
}
break;
case WXK_BACK:
// delete the character before the cursor
{
const long pos = GetInsertionPoint();
if ( pos > 0 )
Remove(pos - 1, pos);
handled = true;
}
//.........这里部分代码省略.........
示例7: OnChar
void MyTextCtrl::OnChar(wxKeyEvent& event)
{
UpdatePosition();
SelectPart();
UpdateBuffer();
int keycode = event.GetKeyCode();
if (keycode >= 48 && keycode <= 57 && pos < 8)
{
char ch = keycode;
wxString temp = buffer + (wxChar)ch;
long value;
temp.Right(2).ToLong(&value);
if (value < min || value > max)
{
// buffer = wxString(wxT("0") ) + (wchar_t) ch;
buffer = wxString(wxT("0") ) + (wxChar)ch;
}
else
{
buffer = wxString::Format(wxT("%.2d"), (int) value);
}
FlushBuffer();
}
switch (keycode)
{
case WXK_TAB:
FlushBuffer();
if (!event.ShiftDown() )
{
pos += 3;
}
else
{
pos -= 3;
}
#ifndef __WXMAC__
if (pos < 0 || pos > 11)
{
event.Skip();
}
#endif // __WXMAC__
break;
case WXK_LEFT:
FlushBuffer();
pos -= 3;
if (pos < 0)
{
pos = 0;
}
break;
case WXK_RIGHT:
FlushBuffer();
pos += 3;
//if (pos > 11) //AJ
//{
// pos = 11;
//}
if (pos > 8)
{
pos = 8;
}
break;
case WXK_UP:
Increment(POSITIVE);
FlushBuffer();
break;
case WXK_DOWN:
Increment(NEGATIVE);
FlushBuffer();
break;
//case 65:
//case 97:
// //if (pos > 8)
// //{
// // buffer = wxT("AM");
// //}
// //FlushBuffer();
// //break;
//
//case 80:
//case 112:
// //if (pos > 8)
// //{
// // buffer = wxT("PM");
// //}
// //FlushBuffer();
//.........这里部分代码省略.........
示例8: OnChar
void InvestigationChooserDialog::OnChar(wxKeyEvent& event){
if (event.GetKeyCode() == WXK_ESCAPE){
this->EndModal(wxCANCEL);
}
event.Skip();
};
示例9: OnCharHook
void MainSequencer::OnCharHook(wxKeyEvent& event)
{
wxChar uc = event.GetKeyCode();
//printf("OnCharHook %d %c\n", uc, uc);
switch(uc)
{
case WXK_BACK:
case WXK_DELETE:
PanelEffectGrid->DeleteSelectedEffects();
event.StopPropagation();
break;
case WXK_SPACE:
{
wxCommandEvent playEvent(EVT_TOGGLE_PLAY);
wxPostEvent(mParent, playEvent);
}
event.StopPropagation();
break;
case WXK_UP:
PanelEffectGrid->MoveSelectedEffectUp(event.ShiftDown());
event.StopPropagation();
break;
case WXK_DOWN:
PanelEffectGrid->MoveSelectedEffectDown(event.ShiftDown());
event.StopPropagation();
break;
case WXK_LEFT:
PanelEffectGrid->MoveSelectedEffectLeft(event.ShiftDown());
event.StopPropagation();
break;
case WXK_RIGHT:
PanelEffectGrid->MoveSelectedEffectRight(event.ShiftDown());
event.StopPropagation();
break;
default:
event.Skip();
break;
}
}
示例10: LogKeyEvent
void LogKeyEvent(const wxChar *name, const wxKeyEvent& event)
{
wxString key;
long keycode = event.GetKeyCode();
{
switch ( keycode )
{
case WXK_BACK: key = wxT("BACK"); break;
case WXK_TAB: key = wxT("TAB"); break;
case WXK_RETURN: key = wxT("RETURN"); break;
case WXK_ESCAPE: key = wxT("ESCAPE"); break;
case WXK_SPACE: key = wxT("SPACE"); break;
case WXK_DELETE: key = wxT("DELETE"); break;
case WXK_START: key = wxT("START"); break;
case WXK_LBUTTON: key = wxT("LBUTTON"); break;
case WXK_RBUTTON: key = wxT("RBUTTON"); break;
case WXK_CANCEL: key = wxT("CANCEL"); break;
case WXK_MBUTTON: key = wxT("MBUTTON"); break;
case WXK_CLEAR: key = wxT("CLEAR"); break;
case WXK_SHIFT: key = wxT("SHIFT"); break;
case WXK_ALT: key = wxT("ALT"); break;
case WXK_CONTROL: key = wxT("CONTROL"); break;
case WXK_MENU: key = wxT("MENU"); break;
case WXK_PAUSE: key = wxT("PAUSE"); break;
case WXK_CAPITAL: key = wxT("CAPITAL"); break;
case WXK_END: key = wxT("END"); break;
case WXK_HOME: key = wxT("HOME"); break;
case WXK_LEFT: key = wxT("LEFT"); break;
case WXK_UP: key = wxT("UP"); break;
case WXK_RIGHT: key = wxT("RIGHT"); break;
case WXK_DOWN: key = wxT("DOWN"); break;
case WXK_SELECT: key = wxT("SELECT"); break;
case WXK_PRINT: key = wxT("PRINT"); break;
case WXK_EXECUTE: key = wxT("EXECUTE"); break;
case WXK_SNAPSHOT: key = wxT("SNAPSHOT"); break;
case WXK_INSERT: key = wxT("INSERT"); break;
case WXK_HELP: key = wxT("HELP"); break;
case WXK_NUMPAD0: key = wxT("NUMPAD0"); break;
case WXK_NUMPAD1: key = wxT("NUMPAD1"); break;
case WXK_NUMPAD2: key = wxT("NUMPAD2"); break;
case WXK_NUMPAD3: key = wxT("NUMPAD3"); break;
case WXK_NUMPAD4: key = wxT("NUMPAD4"); break;
case WXK_NUMPAD5: key = wxT("NUMPAD5"); break;
case WXK_NUMPAD6: key = wxT("NUMPAD6"); break;
case WXK_NUMPAD7: key = wxT("NUMPAD7"); break;
case WXK_NUMPAD8: key = wxT("NUMPAD8"); break;
case WXK_NUMPAD9: key = wxT("NUMPAD9"); break;
case WXK_MULTIPLY: key = wxT("MULTIPLY"); break;
case WXK_ADD: key = wxT("ADD"); break;
case WXK_SEPARATOR: key = wxT("SEPARATOR"); break;
case WXK_SUBTRACT: key = wxT("SUBTRACT"); break;
case WXK_DECIMAL: key = wxT("DECIMAL"); break;
case WXK_DIVIDE: key = wxT("DIVIDE"); break;
case WXK_F1: key = wxT("F1"); break;
case WXK_F2: key = wxT("F2"); break;
case WXK_F3: key = wxT("F3"); break;
case WXK_F4: key = wxT("F4"); break;
case WXK_F5: key = wxT("F5"); break;
case WXK_F6: key = wxT("F6"); break;
case WXK_F7: key = wxT("F7"); break;
case WXK_F8: key = wxT("F8"); break;
case WXK_F9: key = wxT("F9"); break;
case WXK_F10: key = wxT("F10"); break;
case WXK_F11: key = wxT("F11"); break;
case WXK_F12: key = wxT("F12"); break;
case WXK_F13: key = wxT("F13"); break;
case WXK_F14: key = wxT("F14"); break;
case WXK_F15: key = wxT("F15"); break;
case WXK_F16: key = wxT("F16"); break;
case WXK_F17: key = wxT("F17"); break;
case WXK_F18: key = wxT("F18"); break;
case WXK_F19: key = wxT("F19"); break;
case WXK_F20: key = wxT("F20"); break;
case WXK_F21: key = wxT("F21"); break;
case WXK_F22: key = wxT("F22"); break;
case WXK_F23: key = wxT("F23"); break;
case WXK_F24: key = wxT("F24"); break;
case WXK_NUMLOCK: key = wxT("NUMLOCK"); break;
case WXK_SCROLL: key = wxT("SCROLL"); break;
case WXK_PAGEUP: key = wxT("PAGEUP"); break;
case WXK_PAGEDOWN: key = wxT("PAGEDOWN"); break;
case WXK_NUMPAD_SPACE: key = wxT("NUMPAD_SPACE"); break;
case WXK_NUMPAD_TAB: key = wxT("NUMPAD_TAB"); break;
case WXK_NUMPAD_ENTER: key = wxT("NUMPAD_ENTER"); break;
case WXK_NUMPAD_F1: key = wxT("NUMPAD_F1"); break;
case WXK_NUMPAD_F2: key = wxT("NUMPAD_F2"); break;
case WXK_NUMPAD_F3: key = wxT("NUMPAD_F3"); break;
case WXK_NUMPAD_F4: key = wxT("NUMPAD_F4"); break;
case WXK_NUMPAD_HOME: key = wxT("NUMPAD_HOME"); break;
case WXK_NUMPAD_LEFT: key = wxT("NUMPAD_LEFT"); break;
case WXK_NUMPAD_UP: key = wxT("NUMPAD_UP"); break;
case WXK_NUMPAD_RIGHT: key = wxT("NUMPAD_RIGHT"); break;
case WXK_NUMPAD_DOWN: key = wxT("NUMPAD_DOWN"); break;
case WXK_NUMPAD_PAGEUP: key = wxT("NUMPAD_PAGEUP"); break;
case WXK_NUMPAD_PAGEDOWN: key = wxT("NUMPAD_PAGEDOWN"); break;
case WXK_NUMPAD_END: key = wxT("NUMPAD_END"); break;
case WXK_NUMPAD_BEGIN: key = wxT("NUMPAD_BEGIN"); break;
case WXK_NUMPAD_INSERT: key = wxT("NUMPAD_INSERT"); break;
case WXK_NUMPAD_DELETE: key = wxT("NUMPAD_DELETE"); break;
case WXK_NUMPAD_EQUAL: key = wxT("NUMPAD_EQUAL"); break;
//.........这里部分代码省略.........
示例11: HandleChar
//----------------------------------------------------------------------------
void PaneController::HandleChar (RenderViewWindow *win, wxKeyEvent &e)
{
PX2_UNUSED(win);
e.Skip();
}
示例12: PressedKey
void WxAutoCell::PressedKey( wxKeyEvent& event ){
if (event.GetKeyCode() == WXK_ESCAPE)
Show(false);
event.Skip();
}
示例13: keyReleased
void LEDButton::keyReleased(wxKeyEvent& event) {
event.Skip();
}
示例14: keyPressed
void LEDButton::keyPressed(wxKeyEvent& event) {
event.Skip();
}
示例15: onCharInParent
bool DropDownList::onCharInParent(wxKeyEvent& ev) {
// keyboard codes
int k = ev.GetKeyCode();
if (IsShown()) {
if (open_sub_menu) {
// sub menu always takes keys
return open_sub_menu->onCharInParent(ev);
} else {
switch (k) {
case WXK_UP:
return selectItem(selected_item - 1);
case WXK_DOWN:
return selectItem(selected_item + 1);
case WXK_RETURN:
if (!showSubMenu() && (selected_item == NO_SELECTION || itemEnabled(selected_item))) {
hide(true, false); // don't veto; always close
}
break;
case WXK_SPACE:
if (!showSubMenu() && (selected_item == NO_SELECTION || itemEnabled(selected_item))) {
hide(true);
}
break;
case WXK_ESCAPE:
hide(false);
break;
case WXK_LEFT:
if (parent_menu) hide(false);
break;
case WXK_RIGHT:
return showSubMenu();
default:
// match first character of an item, start searching just after the current selection
size_t si = selected_item != NO_SELECTION ? selected_item + 1 : 0;
size_t count = itemCount();
for (size_t i = 0 ; i < count ; ++i) {
size_t index = (si + i) % count;
if (!itemEnabled(index)) continue;
String c = itemText(index);
#ifdef UNICODE
if (!c.empty() && toUpper(c.GetChar(0)) == toUpper(ev.GetUnicodeKey())) {
#else
if (!c.empty() && toUpper(c.GetChar(0)) == toUpper(ev.GetKeyCode())) {
#endif
// first character matches
selected_item = index;
showSubMenu();
selectItem(index);
return true;
}
}
}
}
return true;
}
else if (k==WXK_SPACE || k==WXK_RETURN || k==WXK_DOWN) {
// drop down list is not shown yet, show it now
show(false, wxPoint(0,0));
return true;
}
return false;
}