版权声明:github博客地址https://ryanlee0129.github.io/wtf-blog/ 引用请注明 https://blog.csdn.net/u013288800/article/details/82385742
绑定函数
点击
悬停
离开悬停
BIND_EVENT_DYNAMIC(BtnScene, OnClicked, UBGVIewItem::OnClickedBtnScene);
BIND_EVENT_DYNAMIC(BtnScene, OnHovered, UBGVIewItem::OnHoveredBtnSceneHandler);
BIND_EVENT_DYNAMIC(BtnScene, OnUnhovered, UBGVIewItem::OnUnhoveredBtnSceneHandler);
控件显示状态
BtnScene->SetVisibility(ESlateVisibility::Visible);
UENUM(BlueprintType)
enum class ESlateVisibility : uint8
{
/** Default widget visibility - visible and can interact with the cursor */
Visible,
/** Not visible and takes up no space in the layout; can never be clicked on because it takes up no space. */
Collapsed,
/** Not visible, but occupies layout space. Not interactive for obvious reasons. */
Hidden,
/** Visible to the user, but only as art. The cursors hit tests will never see this widget. */
HitTestInvisible,
/** Same as HitTestInvisible, but doesn't apply to child widgets. */
SelfHitTestInvisible
};
委托
声明
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FNiftyUIActionNo);
FNiftyUIActionNo ItemChangeDelegate;
调用
ItemChangeDelegate.Broadcast();
绑定
UBGVIewItem* item= NewObject<UBGVIewItem>();
item->InitializeLayout();
item->ItemChangeDelegate.AddUniqueDynamic(this, &UBGVIew::InitBGViewItems);
this表示委托的对象
UBGVIew::InitBGViewItems委托的方法
使用委托跨对象调用,子类调用父类、