UE4 按钮绑定时间 委托

版权声明: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委托的方法
使用委托跨对象调用,子类调用父类、

猜你喜欢

转载自blog.csdn.net/u013288800/article/details/82385742
今日推荐