本文整理汇总了C++中FReply::SetKeyboardFocus方法的典型用法代码示例。如果您正苦于以下问题:C++ FReply::SetKeyboardFocus方法的具体用法?C++ FReply::SetKeyboardFocus怎么用?C++ FReply::SetKeyboardFocus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FReply
的用法示例。
在下文中一共展示了FReply::SetKeyboardFocus方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnButtonClicked
FReply SComboButton::OnButtonClicked()
{
TSharedPtr<SWidget> Content = NULL;
if( OnGetMenuContent.IsBound() )
{
Content = OnGetMenuContent.Execute();
SetMenuContent( Content.ToSharedRef() );
}
// Button was clicked; show the popup.
// Do nothing if clicking on the button also dismissed the menu, because we will end up doing the same thing twice.
this->SetIsOpen( ShouldOpenDueToClick() );
// If the menu is open, execute the related delegate.
if( IsOpen() && OnComboBoxOpened.IsBound() )
{
OnComboBoxOpened.Execute();
}
// Focusing any newly-created widgets must occur after they have been added to the UI root.
FReply ButtonClickedReply = FReply::Handled();
TSharedPtr<SWidget> WidgetToFocus = WidgetToFocusPtr.Pin();
if (!WidgetToFocus.IsValid())
{
// no explicitly focused widget, try to focus the content
WidgetToFocus = Content;
}
if (!WidgetToFocus.IsValid())
{
// no content, so try to focus the original widget set on construction
WidgetToFocus = ContentWidgetPtr.Pin();
}
if (WidgetToFocus.IsValid())
{
ButtonClickedReply.SetKeyboardFocus( WidgetToFocus.ToSharedRef(), EKeyboardFocusCause::SetDirectly );
}
return ButtonClickedReply;
}