本文整理汇总了C++中wxKeyEvent::GetRawKeyFlags方法的典型用法代码示例。如果您正苦于以下问题:C++ wxKeyEvent::GetRawKeyFlags方法的具体用法?C++ wxKeyEvent::GetRawKeyFlags怎么用?C++ wxKeyEvent::GetRawKeyFlags使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxKeyEvent
的用法示例。
在下文中一共展示了wxKeyEvent::GetRawKeyFlags方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnKeyPressed
void CBOINCBaseView::OnKeyPressed(wxKeyEvent &event) {
wxWindow next;
CTaskItemGroup* pGroup = NULL;
CTaskItem* pItem = NULL;
int i, j;
bool focusOK = false;
if (m_pTaskPane) {
int keyCode = event.GetKeyCode();
wxUint32 keyFlags = event.GetRawKeyFlags();
if (keyCode == WXK_TAB) {
wxWindow* focused = wxWindow::FindFocus();
if (!m_pTaskPane->IsDescendant(focused)) {
if (keyFlags & SHIFT_MASK) {
for (i=m_TaskGroups.size()-1; i>=0; --i) {
pGroup = m_TaskGroups[i];
for (j=pGroup->m_Tasks.size()-1; j>=0; --j) {
pItem = pGroup->m_Tasks[j];
if (pItem->m_pButton) {
if (pItem->m_pButton->CanAcceptFocus()) {
focusOK = true;
break;
}
}
}
if (focusOK) break;
}
} else {
for (i=0; i<m_TaskGroups.size(); ++i) {
pGroup = m_TaskGroups[i];
for (j=0; j<pGroup->m_Tasks.size(); ++j) {
pItem = pGroup->m_Tasks[j];
if (pItem->m_pButton) {
if (pItem->m_pButton->CanAcceptFocus()) {
focusOK = true;
break;
}
}
}
if (focusOK) break;
}
}
if (focusOK) {
pItem->m_pButton->SetFocus();
return;
}
}
wxNavigationKeyEvent evt;
evt.SetDirection((keyFlags & SHIFT_MASK) == 0);
evt.SetFromTab(true);
m_pTaskPane->GetEventHandler()->AddPendingEvent(evt);
return;
}
}
event.Skip();
}
示例2: OnKeyDown
void MovieWindowQT::OnKeyDown(wxKeyEvent &inEvent) {
// TODO - Only pass appropriate keys to QuickTime, and Skip() the
// rest of the events. Figure out why SPACE isn't working. And
// re-enable this handler in our event table.
if (mMovie) {
EventRecord event;
mMovie->FillOutEvent((HWND) mHWND, WM_KEYDOWN,
(WPARAM) inEvent.GetRawKeyCode(),
(LPARAM) inEvent.GetRawKeyFlags(), &event);
mMovie->Key(event.message & charCodeMask, event.modifiers);
}
}