zoukankan      html  css  js  c++  java
  • cegui 学习 事件处理

    有关event的有

    添加事件 add

    删除事件remove

    激发事件 fire  ----比如窗体 的onresize(){fire(此窗体的xx事件发生)} 就是当这个窗体 onresize的时候 触发 xx事件 可以被其他窗体捕获----------告诉别人我这里发生了什么

    添加事件处理函数 sub   A窗体-》sub(某个事件 ,func) A窗体发生某事件了 ,执行b窗体的func-----------------对另外一个窗体的事件做处理

    查找事件 get

    红色好像不对

    (1)添加一个事件(2)删除一个事件(3)激发一个事件,其实就是调用事件相应的处理函数(4)添加事件处理函数(5)查找事件。这五种功能对应的函数分别为:

    (1).addEvent

    (2).removeEvent,removeAllEvents

    (3).fireEvent,fireEvent_impl(内部实现函数)

    (4).subscribeEvent(2个重载函数),subscribeScriptedEvent(2个重载函数)

    (5).getEventObject,isEventPresent

    下面代码的意思就是 右键触发EventRBClicked事件的处理函数

    例子  :

    //c++

    const String FalagardActionButton::EventRBClicked((utf8*)"RBClicked");

    void FalagardActionButton::onRBClicked(WindowEventArgs& e)
    {
    if(d_dragging) return;

    fireEvent(EventRBClicked, e, EventNamespace);
    }

    //lua
    <Window Type="WoWLook/ActionButton" Name="PacketButton_SP3" >
    <Event Name="RBClicked" Function="Packet_Ext_ItemBtnClicked(3);" />

  • 相关阅读:
    CCPC-Wannafly Winter Camp Day4 Div1
    CCPC-Wannafly Winter Camp Day4 Div1
    CCPC-Wannafly Winter Camp Day4 Div1
    CCPC-Wannafly Winter Camp Day5 Div1
    Luogu 1603
    洛谷试炼场
    Codeforces 1100
    Codeforces 1099E
    Codeforces 1099
    Luogu 1093
  • 原文地址:https://www.cnblogs.com/minggoddess/p/1935923.html
Copyright © 2011-2022 走看看