本文整理汇总了C++中FKeyEvent::IsControlDown方法的典型用法代码示例。如果您正苦于以下问题:C++ FKeyEvent::IsControlDown方法的具体用法?C++ FKeyEvent::IsControlDown怎么用?C++ FKeyEvent::IsControlDown使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FKeyEvent
的用法示例。
在下文中一共展示了FKeyEvent::IsControlDown方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnKeyDown
FReply SWidget::OnKeyDown( const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent )
{
if (SupportsKeyboardFocus())
{
EUINavigation Direction = FSlateApplicationBase::Get().GetNavigationDirectionFromKey( InKeyEvent );
// It's the left stick return a navigation request of the correct direction
if ( Direction != EUINavigation::Invalid )
{
return FReply::Handled().SetNavigation( Direction );
}
else if ( InKeyEvent.GetKey() == EKeys::Tab )
{
//@TODO: Really these uses of input should be at a lower priority, only occurring if nothing else handled them
// For now this code prevents consuming them when some modifiers are held down, allowing some limited binding
const bool bAllowEatingKeyEvents = !InKeyEvent.IsControlDown() && !InKeyEvent.IsAltDown() && !InKeyEvent.IsCommandDown();
if (bAllowEatingKeyEvents)
{
EUINavigation MoveDirection = (InKeyEvent.IsShiftDown())
? EUINavigation::Previous
: EUINavigation::Next;
return FReply::Handled().SetNavigation(MoveDirection);
}
}
}
return FReply::Unhandled();
}
示例2: OnKeyDown
FReply STableViewBase::OnKeyDown( const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent )
{
if ( InKeyEvent.IsControlDown() && InKeyEvent.GetKey() == EKeys::End )
{
ScrollToBottom();
return FReply::Handled();
}
return FReply::Unhandled();
}
示例3: OnKeyDown
FReply SGraphPanel::OnKeyDown( const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent )
{
if( IsEditable.Get() )
{
if( InKeyEvent.GetKey() == EKeys::Up ||InKeyEvent.GetKey() == EKeys::NumPadEight )
{
UpdateSelectedNodesPositions(FVector2D(0.0f,-GetSnapGridSize()));
return FReply::Handled();
}
if( InKeyEvent.GetKey() == EKeys::Down || InKeyEvent.GetKey() == EKeys::NumPadTwo )
{
UpdateSelectedNodesPositions(FVector2D(0.0f,GetSnapGridSize()));
return FReply::Handled();
}
if( InKeyEvent.GetKey() == EKeys::Right || InKeyEvent.GetKey() == EKeys::NumPadSix )
{
UpdateSelectedNodesPositions(FVector2D(GetSnapGridSize(),0.0f));
return FReply::Handled();
}
if( InKeyEvent.GetKey() == EKeys::Left || InKeyEvent.GetKey() == EKeys::NumPadFour )
{
UpdateSelectedNodesPositions(FVector2D(-GetSnapGridSize(),0.0f));
return FReply::Handled();
}
if(InKeyEvent.GetKey() == FGraphEditorCommands::Get().ZoomOut->GetActiveGesture()->Key)
{
ChangeZoomLevel(-1, CachedAllottedGeometryScaledSize / 2.f, InKeyEvent.IsControlDown());
return FReply::Handled();
}
if(InKeyEvent.GetKey() == FGraphEditorCommands::Get().ZoomIn->GetActiveGesture()->Key)
{
ChangeZoomLevel(+1, CachedAllottedGeometryScaledSize / 2.f, InKeyEvent.IsControlDown());
return FReply::Handled();
}
}
return SNodePanel::OnKeyDown(MyGeometry, InKeyEvent);
}
示例4:
FValorActionInputBinding UInputBlueprintLibrary::K2_GetInputAction(const FKeyEvent& KeyEvent)
{
FValorActionInputBinding Binding;
Binding.Key = KeyEvent.GetKey();
Binding.KeyAsString = Binding.Key.GetDisplayName().ToString();
Binding.bAlt = KeyEvent.IsAltDown();
Binding.bCtrl = KeyEvent.IsControlDown();
Binding.bShift = KeyEvent.IsShiftDown();
Binding.bCmd = KeyEvent.IsCommandDown();
return Binding;
}
示例5: OnKeyDown
FReply SPythonEditableText::OnKeyDown(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent)
{
FReply Reply = FReply::Unhandled();
if (InKeyEvent.GetKeyCode() == 9)
{
Reply = FReply::Handled();
}
else if (InKeyEvent.IsControlDown() && InKeyEvent.GetKeyCode() == 13)
{
Reply = FReply::Handled();
OnExecuted.Execute();
}
else
{
Reply = SMultiLineEditableText::OnKeyDown(MyGeometry, InKeyEvent);
}
//FString test;
//test=FString::FromInt(InKeyEvent.GetKeyCode());
//InsertTextAtCursor(test);
return Reply;
}
示例6: OnKeyDown
FReply FTextEditHelper::OnKeyDown( const FKeyEvent& InKeyEvent, const TSharedRef< ITextEditorWidget >& TextEditor )
{
const FKey Key = InKeyEvent.GetKey();
if( Key == EKeys::Left )
{
return TextEditor->MoveCursor( FMoveCursor::Cardinal(
// Ctrl moves a whole word instead of one character.
InKeyEvent.IsControlDown( ) ? ECursorMoveGranularity::Word : ECursorMoveGranularity::Character,
// Move left
FIntPoint( -1, 0 ),
// Shift selects text.
InKeyEvent.IsShiftDown() ? ECursorAction::SelectText : ECursorAction::MoveCursor
));
}
else if( Key == EKeys::Right )
{
return TextEditor->MoveCursor( FMoveCursor::Cardinal(
// Ctrl moves a whole word instead of one character.
InKeyEvent.IsControlDown( ) ? ECursorMoveGranularity::Word : ECursorMoveGranularity::Character,
// Move right
FIntPoint( +1, 0 ),
// Shift selects text.
InKeyEvent.IsShiftDown() ? ECursorAction::SelectText : ECursorAction::MoveCursor
));
}
else if ( Key == EKeys::Up )
{
return TextEditor->MoveCursor( FMoveCursor::Cardinal(
InKeyEvent.IsControlDown( ) ? ECursorMoveGranularity::Word : ECursorMoveGranularity::Character,
// Move up
FIntPoint( 0, -1 ),
// Shift selects text.
InKeyEvent.IsShiftDown() ? ECursorAction::SelectText : ECursorAction::MoveCursor
));
}
else if ( Key == EKeys::Down )
{
return TextEditor->MoveCursor( FMoveCursor::Cardinal(
InKeyEvent.IsControlDown( ) ? ECursorMoveGranularity::Word : ECursorMoveGranularity::Character,
// Move down
FIntPoint( 0, +1 ),
// Shift selects text.
InKeyEvent.IsShiftDown() ? ECursorAction::SelectText : ECursorAction::MoveCursor
));
}
else if( Key == EKeys::Home )
{
// Go to the beginning of the document; select text if Shift is down.
TextEditor->JumpTo(
(InKeyEvent.IsControlDown() ) ? ETextLocation::BeginningOfDocument : ETextLocation::BeginningOfLine,
(InKeyEvent.IsShiftDown()) ? ECursorAction::SelectText : ECursorAction::MoveCursor );
return FReply::Handled();
}
else if ( Key == EKeys::End )
{
// Go to the end of the document; select text if Shift is down.
TextEditor->JumpTo(
(InKeyEvent.IsControlDown() ) ? ETextLocation::EndOfDocument : ETextLocation::EndOfLine,
(InKeyEvent.IsShiftDown()) ? ECursorAction::SelectText : ECursorAction::MoveCursor );
return FReply::Handled();
}
else if( Key == EKeys::Enter && !TextEditor->GetIsReadOnly() )
{
FScopedTextTransaction TextTransaction(TextEditor);
TextEditor->OnEnter();
return FReply::Handled();
}
else if( Key == EKeys::Delete && !TextEditor->GetIsReadOnly() )
{
// @Todo: Slate keybindings support more than one set of keys.
// Delete to next word boundary (Ctrl+Delete)
if (InKeyEvent.IsControlDown() && !InKeyEvent.IsAltDown() && !InKeyEvent.IsShiftDown())
{
TextEditor->MoveCursor( FMoveCursor::Cardinal(
ECursorMoveGranularity::Word,
// Move right
FIntPoint(+1, 0),
// selects text.
ECursorAction::SelectText
));
}
FScopedTextTransaction TextTransaction(TextEditor);
// Delete selected text
TextEditor->DeleteChar();
return FReply::Handled();
}
else if( Key == EKeys::Escape )
{
return TextEditor->OnEscape();
}
// @Todo: Slate keybindings support more than one set of keys.
//.........这里部分代码省略.........