本文整理汇总了C++中wxKeyEvent::ShiftDown方法的典型用法代码示例。如果您正苦于以下问题:C++ wxKeyEvent::ShiftDown方法的具体用法?C++ wxKeyEvent::ShiftDown怎么用?C++ wxKeyEvent::ShiftDown使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxKeyEvent
的用法示例。
在下文中一共展示了wxKeyEvent::ShiftDown方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: KeyUp
void NewtonDemos::KeyUp(const wxKeyEvent &event)
{
m_shiftKey = event.ShiftDown();
m_controlKey = event.ControlDown();
// if (!event.GetModifiers()) {
int keyCode = event.GetKeyCode();
int code = keyCode & 0xff;
m_key[m_keyMap[code]] = false;
// }
}
示例2: KeyEvent
void LabelTrack::KeyEvent(double sel0, double sel1, wxKeyEvent & event)
{
long keyCode = event.KeyCode();
if (mSelIndex >= 0) {
switch (keyCode) {
case WXK_BACK:{
int len = mLabels[mSelIndex]->title.Length();
if (len > 0)
mLabels[mSelIndex]->title =
mLabels[mSelIndex]->title.Left(len - 1);
}
break;
case WXK_RETURN:
if (mLabels[mSelIndex]->title == "") {
delete mLabels[mSelIndex];
mLabels.RemoveAt(mSelIndex);
}
mSelIndex = -1;
break;
case WXK_TAB:
if (event.ShiftDown()) {
if (mSelIndex > 0)
mSelIndex--;
} else {
if (mSelIndex < (int)mLabels.Count() - 1)
mSelIndex++;
}
break;
default:
mLabels[mSelIndex]->title += keyCode;
break;
}
} else {
// Create new label
LabelStruct *l = new LabelStruct();
l->t = sel0;
l->title += wxChar(keyCode);
int len = mLabels.Count();
int pos = 0;
while (pos < len && l->t > mLabels[pos]->t)
pos++;
mLabels.Insert(l, pos);
mSelIndex = pos;
}
}
示例3: OnChar
void YardKeybrd::OnChar(wxKeyEvent & event){
if (event.GetKeyCode() == 8){
DeleteChar();
}else{
if (!event.ShiftDown())
screencontents.Append(event.GetKeyCode());
else
screencontents.Append(event.GetKeyCode() + 32);
}
RefreshScreen();
}
示例4: 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();
}
示例5: onKeyChange
void SymbolSymmetryEditor::onKeyChange(wxKeyEvent& ev) {
if (symmetryMoveAction) {
if (ev.GetKeyCode() == WXK_CONTROL || ev.GetKeyCode() == WXK_SHIFT) {
// changed constrains
symmetryMoveAction->constrain = ev.ControlDown();
symmetryMoveAction->snap = ev.ShiftDown() != settings.symbol_grid_snap ? settings.symbol_grid_size : 0;
control.Refresh(false);
} else if (ev.GetKeyCode() == WXK_ESCAPE) {
// cancel drawing
resetActions();
}
}
}
示例6: 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;
}
}
示例7: OnKeyPressed
void CamuleDlg::OnKeyPressed(wxKeyEvent& event)
{
if (event.GetKeyCode() == WXK_F1) {
// Ctrl/Alt/Shift must not be pressed, to avoid
// conflicts with other (global) shortcuts.
if (!event.HasModifiers() && !event.ShiftDown()) {
LaunchUrl(wxT("http://wiki.amule.org"));
return;
}
}
event.Skip();
}
示例8: 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);
}
示例9: 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();
}
示例10: OnKeyDown
void HtMainFrame::OnKeyDown (wxKeyEvent &event)
{
// Keyboard shortcuts to change the current active notebook tab.
if (event.ControlDown() && event.GetKeyCode() == WXK_TAB)
{
bool goForward = !event.ShiftDown();
GetNotebook()->AdvanceSelection(goForward);
return;
}
// resume default event propagation
event.Skip();
}
示例11: 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();
}
示例12: OnKeyDown
void CRemoteTreeView::OnKeyDown(wxKeyEvent& event)
{
if (event.GetKeyCode() != WXK_TAB)
{
event.Skip();
return;
}
wxNavigationKeyEvent navEvent;
navEvent.SetEventObject(this);
navEvent.SetDirection(!event.ShiftDown());
navEvent.SetFromTab(true);
navEvent.ResumePropagation(1);
ProcessEvent(navEvent);
}
示例13: OnKeyDown
void Edit::OnKeyDown (wxKeyEvent &event)
{
if (CallTipActive())
CallTipCancel();
if (event.GetKeyCode() == WXK_SPACE && event.ControlDown() && event.ShiftDown())
{
int pos = GetCurrentPos();
CallTipSetBackground(*wxYELLOW);
CallTipShow(pos,
"This is a CallTip with multiple lines.\n"
"It is meant to be a context sensitive popup helper for the user.");
return;
}
event.Skip();
}
示例14: 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);
}
示例15: OnKeyDown
void OnKeyDown(wxKeyEvent& event)
{
if (event.GetKeyCode() != WXK_TAB)
{
event.Skip();
return;
}
wxNavigationKeyEvent navEvent;
navEvent.SetEventObject(m_parent);
navEvent.SetDirection(!event.ShiftDown());
navEvent.SetFromTab(true);
navEvent.ResumePropagation(1);
m_parent->ProcessEvent(navEvent);
}