GUI控件基础
图形界面是由一个个控件组合而成的,青语言中我们使用标签类型来表示控件,基本格式如下:
《控件名 控件属性1=属性值,控件属性2=属性值…… 【……子控件数组……】》
其中属性和子空间都是可选的。
目前支持的控件包括:
《窗口》
《标签》
《文本标签》
《图片》
《按钮》
《输入框》
《文本框》
《单选框》
《复选框》
《下拉框》
《列表框》
《开关按钮》
《日期选择器》
《时间选择器》
《面板》
《行面板》
《列面板》
《滚动面板》
在学习这些控件之前,首先我们来了解一下这些控件公有的属性,之后如果没有特别说明,那么以下这些属性对于所有控件来说,都是可用的。不过,对于部分控件来说,可能有一些属性不会生效。
基础属性
属#名这个属性非常重要,用于将控件绑定到变量上,对应的值是一个字符串,字符串的内容必须符合变量名的要求,例如#名=“#标签”,那么之后我们就可以通过#标签来访问这个控件了。
属性#类这个属性的用法和上面的#名相似,应该是一个变量名的字符串,而且应该指向一个对象,这样就会把对象的属性复制到控件中,这用来对多个控件设置相同的属性。例如:
#控件类 = {#宽:100,#高:100}
《标签 #类=“#控件类”》 ;这里虽然没有设置宽高,但是会使用 #控件类 里的宽高
属性#宽控件的宽度,整数或者百分比字符串,例如“100%”,通过属性获取值时统一拿到的是字符串。
属性#高控件的高度,整数或者百分比字符串,例如“100%”,通过属性获取值时统一拿到的是字符串。
属性#背景色控件的背景色,字符串类型,使用颜色名例如“Red”,或者十六进制色彩值,例如“#FFFFFF”。
属性#前景色控件的前景色,通常是文字颜色,字符串类型,于背景色用法一致。
属性#X控件左上角为原点,表示控件的X坐标,整数。如果控件在窗口和面板标签中就是绝对位置,如果在行面板或列面板中,就是相对位置。
属性#Y控件左上角为原点,表示控件的Y坐标,整数。
属性#Z控件的叠放次序,整数,值大的在上面。
属性#字号控件中文字的字体大小,整数。
属性``#光标`鼠标移动到控件上时光标的形状,字符串类型,常用的取值有”手“、”十字“、”等待“、”禁止“等。
属性#边框宽控件边框的宽度,整数。
属性#边框色控件边框的颜色,字符串。
属性#可见控件是否可见,字符串,3种取值”可见“、”隐藏“、”折叠“。
基础事件响应
事件@鼠标按下命令鼠标左键按下时触发,接收一个函数,触发时会执行一次绑定的函数
事件@鼠标放开命令鼠标左键放开时触发,接收一个函数,触发时会执行一次绑定的函数
事件@鼠标进入命令鼠标进入控件上方时触发,接收一个函数,触发时会执行一次绑定的函数
事件@鼠标离开命令鼠标离开控件上方时触发,接收一个函数,触发时会执行一次绑定的函数
事件@鼠标滚动命令鼠标在控件上方并且滚动中键时触发,接收一个函数,触发时会执行一次绑定的函数
事件@键盘按下命令键盘按键按下时触发,接收一个函数,触发时会执行一次绑定的函数,传入一个按键的键值作为参数
事件@键盘放开命令键盘按键放开时触发,接收一个函数,触发时会执行一次绑定的函数,传入一个按键的键值作为参数
基础方法
方法@加子将一个控件加入当当前容器控件中
参数1-控件对象,可选参数2-整数,返回空;在控件中加入子控件,如果传入参数2,则指定插入的位置
方法@加子集将多个控件加入当当前容器控件中
参数1-控件数组,可选参数2-整数,返回空;在控件中加入多个子控件,如果传入参数2,则指定插入的位置
方法@减子从容器控件中删除一个子控件
可选参数1-整数|控件对象,返回空;无参时删除控件最后一个子控件,传入整数时删除指定位置的子控件,传入控件对象时删除对应的子控件