LiveCode程序是受用户行为驱动的,也就是说LiveCode会不断监听来自计算机的反应,这些反应来自用户的动作或者说是行为,例如你点击一个按钮、填写一个文本域、通过网络传送数据或者退出程序等等,对于这些行为,LiveCode都会做出回应。
只要有一个行为产生了,LiveCode就会发送一个message,我们可以理解为信号或者讯息。LiveCode检测到行为然后发送讯息,它能做的只有这些,至于怎么处理这条信息,就需要你通过编程来实现了。
用户的行为可以非常广泛,也可以分得非常细致,仅就点击按钮的行为来说就可以细分为很多更细节的行为。举个例子来说,你点击了一个按钮,这个过程其实包括了鼠标箭头进入按钮所在区域、鼠标在按钮上方移动、鼠标点击按钮、鼠标松起、鼠标移出按钮,相应的,LiveCode会发送下面这些讯息:mouseEnter、mouseOver、mouseDown、mouseUp、mouseLeave,不过你没必要全部处理这些讯息,如果你只想用户点击按钮后弹出”Hello World”对话框,你只要在mouseUp的handler(可以理解为处理器)中写出answer “Hello World”就可以了。
有时候一个事件不会被相应的object(可以理解为对象或者物件)处理,例如用户点击一个按钮,你如果不在按钮里写任何代码,那么我们上面提到的那些messages就不会被按钮处理,它们会随着Message Hierarchy(可以理解为讯息传递路径)向更加low level的对象传递,如果程序中没有处理message的handler,那么message就会被自动忽略掉。
只要有一个行为产生了,LiveCode就会发送一个message,我们可以理解为信号或者讯息。LiveCode检测到行为然后发送讯息,它能做的只有这些,至于怎么处理这条信息,就需要你通过编程来实现了。
用户的行为可以非常广泛,也可以分得非常细致,仅就点击按钮的行为来说就可以细分为很多更细节的行为。举个例子来说,你点击了一个按钮,这个过程其实包括了鼠标箭头进入按钮所在区域、鼠标在按钮上方移动、鼠标点击按钮、鼠标松起、鼠标移出按钮,相应的,LiveCode会发送下面这些讯息:mouseEnter、mouseOver、mouseDown、mouseUp、mouseLeave,不过你没必要全部处理这些讯息,如果你只想用户点击按钮后弹出”Hello World”对话框,你只要在mouseUp的handler(可以理解为处理器)中写出answer “Hello World”就可以了。
有时候一个事件不会被相应的object(可以理解为对象或者物件)处理,例如用户点击一个按钮,你如果不在按钮里写任何代码,那么我们上面提到的那些messages就不会被按钮处理,它们会随着Message Hierarchy(可以理解为讯息传递路径)向更加low level的对象传递,如果程序中没有处理message的handler,那么message就会被自动忽略掉。