易语言控件的通用属性方法和事件.txt12思念是一首诗,让你在普通的日子里读出韵律来;思念是一阵雨,让你在枯燥的日子里湿润起来;思念是一片阳光,让你的阴郁的日子里明朗起来。易语言控件的通用属性方法和事件(转载)(2010-01-06 01:23:40)转载标签: 电脑控件句柄易语言画板it 分类: 软件
一、控件的通用“属性”
控件的通用属性主要有:名称、标题、禁止、可视、鼠标指针、字体、边框、可停留焦点、左边、顶边、宽度、高度、标记、备注等。
上述列出的属性中,只有名称、左边、顶边、宽度、高度、标记、备注是每个控件都拥有的属性,其它属性虽不是每个控件都有,但也非常常见,故也认为它们是控件的通用属性。通用属性中除了名称和标题外,一般不必刻意设置——易语言自动为其取最常见的值。
除了通用属性外,控件一般都还有自己的特有属性。
下面逐个讲解控件的通用“属性”:
1、名称
控件的唯一标识。好比现实中人的身份证。放到程序中控件必须有名称——如果程序员未特别命名,易语言自动为它按序号命名(如:按钮1、按钮2……编辑框1、编辑框2……等)。要想在代码中操作控件的属性方法和事件,就必须指定目的控件的名称(如:按钮1.标题)。
[注:如果程序较为复杂——用到的控件较多,最好自己为控件命名。为控件取一个有意义的名称是一个好的习惯。我个人认为,一个好的名称 = 功能 + 控件类型,如“确定按钮”“取消按钮”“密码编辑框”等等。另外,切不可用代码改动控件的名称!]
2、标题
显示于控件上的文字。主要是给程序的使用者看的,通常作为某种提示。因控件的不同,标题出现的出现的位置可能也不一样。如:窗口、通用对话框等有标题栏的控件,标题出现在标题栏中;而按钮、标签、单选框、选择框、分组框、菜单等没有标题栏的控件,标题出现在控件中央(或偏上下左右)。
3、禁止
控制控件可否被程序使用者操作。它的值只能为真或假,默认为假,即不禁止。被禁止的控件一般表现为:上面的文字(即标题)变为灰,单击它没有任何反应。
4、可视
控制控件可否被程序使用者看到。它的值只能为真或假,默认为真,即可以被看到。
5、鼠标指针
当鼠标移动到控件上方时,鼠标指针的形状。本属性一般不必改动——易语言根据控件的不同,会自动为其取一个默认值(最常见的),如:按钮上为,编辑框上为等。
6、字体
标题文字的字体:包括字体名称、字体大小、加粗、倾斜、下划线、删除线等。注意,字体颜一般是不生效的,标题文字的颜由另外的属性(文本颜)控制。
7、边框
控制边框的样式。边框一般有:0.无边框、1.凹入式、2.凸出式、3.浅凹入式、4.镜框式、5.单线边框式等几种样式。对标签控件而言,它还有另外一个样式:6.渐变镜框式。而对于窗口来说,它的样式就完全不同:0.无边框、1.普通可调边框、2.普通固定边框、3.窄标题可调边框、4.窄标题固定边框、5.镜框式可调边框、6.镜框式固定边框等。
8、可停留焦点
设置当用户使用 TAB 或光标键在各单元之间移动焦点时是否允许在本单元上停留。它的值只能为真或假,默认为真。如果控件的可停留焦点属性为真,则控件还有另外一个属性(停留顺序)控制焦点停留的顺序——即当按TAB或光标键时,窗口上各控件获得输入焦点的顺序。(如果按钮上有一个黑细点组成的虚框,或者编辑框中有光标在闪烁,表示它正在拥有输入焦点。)
9、左边、顶边、宽度、高度
左边、顶边分别是控件左上角点的横纵坐标,宽度、高度就分别是控件的宽度和高度。四者的单位均为象素。注意左边、顶边是相对于控件的“父控件”而言的,比如我们在画板中“
画”一个按钮,它的左边、顶边就是相对于画板左上角的坐标——这里画板充当了“父控件”(或称容器控件)。易语言中可以充当父控件的控件,除了窗口和画板,还有选择夹、分组框、图片框、外形框等。
(父控件和子控件的关系:1、如果父控件被销毁、禁止或者隐藏,其内部的所有控件将会自动被销毁、禁止或者隐藏;2、子控件始终被限制在父控件的内部,其坐标位置相对于父控件的左上角;3、父控件内的所有子控件之间存在层次关系,但是父控件与子控件之间不存在层次关系。)
(当任一可视控件被“画”到或“粘贴”到某“容器控件”——可充当父控件的控件——中时,父子关系就自动形成。要解除控件的父子关系,可将父控件中的子控件删除或剪切掉。)
10、标记、备注
标记:记录控件的附加文本信息。备注:对控件的备注信息,主要是程序员自己使用。二者的不同在于,标记可以在程序中使用,而备注不可以——类似调用“控件名.备注”是非法的。
二者在实际编程中很少使用。标记还偶尔用到;备注,我敢说,99%的易友是从来不用的。
二、控件的通用“方法”
控件的通用方法主要有:取窗口句柄()、销毁()、获取焦点()、可有焦点()、取用户区宽度()、取用户区高度()、刷新()、移动()、调整层次()、弹出菜单()、发送信息()、投递信息()、取标记单元()等。其中销毁()、获取焦点()、移动()、弹出菜单()等较为常用。此外还有五个关于“重画”的方法,很少用到。相关例程
注:所谓“方法”,说白了也是函数(子程序),只不过“方法”是与特定控件相关联的。“方法”与普通函数(如系统库函数和自定义函数)在调用的语法上是不一样的——“方法”的调用:控件名称.方法名称([参数...]),如 _启动窗口.销毁();普通函数的调用:函数名称([参数...]),如 取系统时间()。
注:“方法”是“控件的”方法,“方法”总是依附于某个控件的。离开了控件,“方法”根本无从谈起。同样的道理,“属性”是“控件的”属性,“事件”是“控件的”事件。属性、方法、事件,都和控件密切相关。
下面逐个讲解控件的通用“方法”:
1、取窗口句柄()
功能:取控件的“窗口句柄”,并以返回值的形式返回。
语法:控件名称.取窗口句柄()
应用实例:1、窗口句柄 = _启动窗口.取窗口句柄()
易语言收费版和免费版的区别 2、窗口句柄 = 编辑框1.取窗口句柄()
//分别取得“_启动窗口”“编辑框1”的窗口句柄,并存到整数型变量“窗口句柄”中。
[注:是 取“窗口句柄”,而不是取“窗口的”句柄。“窗口句柄”是一个专有名词,一般在API调用时使用。。取窗口句柄()不但能够取“窗口”的“窗口句柄”,也能取“控件”的“窗口句柄”(窗口本身就是一个特殊的控件。)][另注:只有可视控件才有“窗口句柄”;非可视控件是没有“窗口句柄”的,不能应用取窗口句柄()方法——比如“窗口句柄 = 时钟1.取窗口句柄()”是非法的。]
2、销毁()
功能:销毁控件:使其从屏幕上消失,并在内存中彻底删除。
语法:控件名称.销毁()
应用实例:1、_启动窗口.销毁()
2、按钮1.销毁()
//分别销毁“_启动窗口”和“按钮1”。第二种用法少见,因为普通控件总是某个窗口的子控件,当窗口被销毁时,子控件也被自动销毁,所以一般不去专门销毁普通控件(只要销毁窗口就可以了)。
3、获取焦点()
功能:使控件获得输入焦点。
语法:控件名称.获取焦点()
应用实例:1、编辑框1.获取焦点()
//使“编辑框1”获得输入焦点。这一句编程中经常用到。(如果编辑框中有光标——通常是闪烁的黑竖线——则表示它已经获取输入焦点,否则表示还没有获取输入焦点。)
4、可有焦点()
功能:判断控件是否拥有输入焦点,返回真或假。
语法:控件名称.可有焦点()
应用实例:1、x = 编辑框1.可有焦点()
//如果“编辑框1”当前拥有输入焦点,x的值为真,否则为假——x要事先定义为逻辑型变量。
5、取用户区宽度()、取用户区高度()
功能:取得控件“用户区”的宽度/高度。
语法:控件名称.取用户区宽度()/取用户区高度()
应用实例:1、宽 = _启动窗口.取用户区宽度()
2、高 = _启动窗口.取用户区高度()
//分别取得“_启动窗口”的“用户区”宽度和高度,并存到整数型变量“宽”和“高”中。
[注:“用户区”——对窗口而言,用户区域为窗口区域减去标题栏、菜单栏、边框后的区域;对普通控件而言,用户区域等同于其窗口单元区域。]
6、刷新()
功能:重新显示控件中的内容。与“刷新”屏幕是一个道理。
语法:控件名称.刷新()
应用实例:1、_启动窗口.刷新()
2、画板1.刷新()
//分别刷新“_启动窗口”和“画板1”。如果画板的自动重画属性为假(默认值),则经常刷新画板是必要的。如果嫌麻烦,干脆把画板的自动重画设为真——只是多占用些系统资源而已。
7、移动()
功能:改变控件的位置和尺寸。
语法:控件名称.移动([左边],[顶边],[宽度],[高度])
参数:分别对应移动后控件的左边、顶边、宽度和高度。四个参数均可省略。
应用实例:1、_启动窗口.移动(0,0,100,200)
2、按钮1.移动(,,100,50) 等效于 按钮1.移动(-1,-1,100,50)
//把“_启动窗口”移动到(0,0),且把其宽度和高度改为100和200;不移动“按钮1”的位置,只把其宽度和高度改为100和50。(单位是象素。)
[注:移动()可同时设置控件的四个属性,如果省略某参数(或置为-1)则不改变原来的值。本“方法”的执行效率,与“分别为各属性赋值”相比,要高出许多倍,特别是在循环中。推荐使用。]
8、调整层次()
功能:调整控件所处层次。
语法:控件名称.调整层次([欲调整到的层次])
参数:整数型,可以为以下常量之一: 1、#顶层; 2、#底层; 3、#最高层; 4、#次高层。如果被省略,默认为“#顶层”。
应用实例:1、_启动窗口.调整层次(#最高层) 或 _启动窗口.调整层次(3)
2、按钮1.调整层次(#顶层) 或 按钮1.调整层次(1)
//把“”调整到最高层;把“按钮1”调整到顶层。
[注:做个实验,在窗口上画一个“按钮1”,再画一个“按钮2”,然后把“按钮2”拖到“按钮1”上,会发现“按钮2”把“按钮1”遮住了!这就说明了两者的层次关系:“按钮2”在“按钮1”的上方,高一个层次。][注:#最高层——机器中所有程序的所有窗口的最前面;#顶层——本程序内所有控件的最前面。#底层与#顶层 相对;#次高层 位于#最高层 下一层。][注:对于普通控件,通常调整到#顶层就可以了;对于窗口这个特殊控件,有时需要调整到#最高层——在所有窗口的最前面。]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论