zoukankan      html  css  js  c++  java
  • 大神的Blog挂了,从Bing快照里复制过来的备份

    UWidget封装SWidgetUMG

    为了使用UMG中的一些高级或便利特性,需要将制作好的Slate控件封装UWidget中去。

    当前UE4版本4.8.3。

    将Slate封装UMG中去有很多的好处,因为在代码中对需要重用的控件进行不断的重新布局是一件非常繁琐的事情。同时,UMG也有在3D空间中进行显示这样的高级功能。

    由于UMG本身就是对Slate的封装,所以这个过程可以参照UE4的源代码进行研究。

    这里所做的是尝试对上一回所做的文件目录树进行封装

    直接上代码

    CListViewWidget.h

    封装类直接继承自UWidget即可,剩下的就是对UWidget中的函数进行实现。

    CListViewWidget.cpp

    在所有的函数中,RebuildWidget()是最重要的。

    参看UWidget的源代码可以发现,所有对被封装SWidget的引用都是通过这个函数获得的,因此在这里面写上SWidget对应的构造生成就可以了。

    OnBindingChanged函数是用于属性代理通知的,这里是简单的封装,没有提供属性代理,因此直接return也是可以的。

    在WITH_EDITOR宏中的是编辑器属性,用于封装后的UWidget在蓝图编辑器中显示。具体每一个函数的含义已经在注释中了。

    将上面的代码编译通过之后,就可以在UMG的编辑器中看到我们添加的控件了:

    image

    将CListViewWidget拖动控件蓝图上,并在HUD中展示此控件蓝图,就能在项目中与其他UMG控件一样使用了:

    image

    这样以来Slate的使用就会变得方便很多。

  • 相关阅读:
    MOSS007 服务器的配置
    服务器日志查询代码
    MOSS2007页面UI定制(无代码上手)
    远程服务器监控程序浅谈
    CoreChart安装使用分享(附 安装文件CoreChart.wsp)
    Tree WebPart的介绍
    思科金牌、银牌代理商名录
    如何让你的移动硬盘或者U盘变得百毒不侵呢?
    CCNA网络工程师面试题
    ICMP报文的各种格式和种类
  • 原文地址:https://www.cnblogs.com/blueroses/p/5794531.html
Copyright © 2011-2022 走看看