第三章:易语言控件 | 第一节:初识控件 7上一页 下一页8
第0节:初识控件 [上一节 下一节]
控件,也称组件、部件,是一个个独立的功能模块。把多个控件组合起来,就是程序。控件是编程技术发展的产物(早些年是没有控件的),它的作用是简化程序的编写,增加代码的可重用性。
这样说也许太枯燥了!举了例子:盖房子,总要事先买好楼板、砖(空心砖)、水泥、钢筋、门、窗等,把它们按一定的规则“摆放、组合”到一起,房子也就出来了。您可曾想过不用这些半成品(楼板、砖……)而完全从零开始盖房子吗?当然也不是不可以,只不过难度或复杂性恐怕要成指数增长。
如果把“在易语言中编写程序”比作“盖房子”的话,那易语言中的“控件”就相当于盖房子时用到的楼板、砖……等,它的作用也就不言自明了吧?在当今Windows编程领域,如果没有控件,就好象盖房子没有楼板、砖……,根本令人无法忍受。
我们都知道,建筑领域的楼板、砖(空心砖)、水泥、钢筋、门、窗……等,机械领域的螺母、螺栓、轴、键……等,汽车制造领域的轮胎、发动机、变速箱……等,都有专门的行业标准。用户只要选择标准的部件,就不会出现使用上的“不克扣”等问题。
同样在编程领域,“控件”也有所谓的“标准控件”,象: 按钮、编辑框、标签、画板、图片框、分组框、组合框、列表框、选择框、单选框、外形框、选择夹、时钟、滚动条、滑块条、进度条……等等,因为这些控件是由操作系统的老大——微软——定义的,所以被称为“标准控件”。在易语言中,除了提供这些标准控件外,还另外配备众多其它控件。
[也许您会问,“非标准”控件在使用中是否有诸多限制?不是的。因为,程序不象卖出去的汽车,需要考虑部件更换问题;程序编好之后通常是不会“坏”的,所以根本不必考虑更换部件。故,对所有控件——无论标准与否——都可以放心使用。事实上,“标准控件”之所以称为“标准控件”,不是因为它有多“标准”,只是因为它是由微软定义的。]
控件都有自己的属性、方法和事件。
--------------------------------------------------------------------------------
为了使大家对“控件”有一些直观的印象,下面请跟我来“寻宝”——
1、
2、
3、
-------------------------------------
结束语:
《易语言零起点》——来自易语言天堂,作者:Liigo 7上一页 下一页8
第三章:易语言控件 | 第一节:控件的通用属性方法和事件 7上一页 下一页8
第一节:控件的通用属性方法和事件 [上一节 下一节]
本节内容:1、控件的通用属性 2、控件的通用方法 3、控件的通用事件
强调:“属性、方法、事件”是“控件的”属性、方法、事件。“属性、方法、事件”总是依附于某个控件的。离开了控件,“属性、方法、事件”根本无从谈起。
本章所说的“控件”,是指“放到程序中的”控件,因此,更严格的叫法应该是“对象”。但“控件”的提法也许大家更容易理解一些,而且很多专业人士也这么讲。
我已经分类的很详细(但不是很准确^_^):红色是最重要的,绿色次之,黑体更次之。首先要把红色的搞清楚,理解了,其它的都可以忽略过去。用到时再回来查嘛。
--------------------------------------------------------------------------------
一、控件的通用“属性”
控件的通用属性主要有:名称、标题、禁止、可视、鼠标指针、字体、边框、可停留焦点、左边、顶边、宽度、高度、标记、备注等。
上述列出的属性中,只有名称、左边、顶边、宽度、高度、标记、备注是每个控件都拥有的属性,其它属性虽不是每个控件都有,但也非常常见,故也认为它们是控件的通用属性。通用属性中除了名称和标题外,一般不必刻意设置——易语言自动为其取最常见的值。
除了通用属性外,控件一般都还有自己的特有属性。
下面逐个讲解控件的通用“属性”:
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调用时使用。。取窗口句柄()不但能够取“窗口”的“窗口句柄”,也能取“控件”的“窗口句柄”(窗口本身就是一个特殊的控件。)][另注:只有可视控件才�

jackieice000
- 粉丝: 2
最新资源
- 本库是个基于python的工具集,用于记录数据到文件。 使用方便,代码简洁, 是一个可靠、省心且实用的工具。 支持多线程同时写入。.zip
- 本科毕业设计,基于python的图像复制粘贴篡改识别软件。.zip
- 本项目是基于计算机视觉的端到端交通路口智能监控系统.采用的设计架构由SRS
- 碧蓝航线ios平台自动脚本,基于python+opencv+facebook_wda实现.zip
- 毕业设计中基于给定微博数据的反作弊识别,用python开发。.zip
- 毕业设计项目,基于深度学习的实时语义分割算法研究,python实现。.zip
- 对基于python的微博爬虫进行重写,重写语言:java.zip
- 此框架是基于Python+Pytest+Requests+Allure+Yaml+Json实现全链路接口自动化测试
- 程序语言课程作业在线评测平台(实现Java、C、Python的选择、填空、代码题在线评测),基于SpringBoot+Layui+MySQL实现.zip
- 非官方的科大讯飞语音合成(用于朗读,配音场景)python API (基于官方demo增加了:超过2000字上限自动分割再合并音频的功能).zip
- 非官方的简易中国铁路列车运行图系统,基于Python + PyQt5
- 超市POS销售与后台管理系统_商品录入收银业务会员管理进货销售库存人员权限断网收银断电保护_实现超市前台POS销售商品扫描条形码输入收银计算找零打印清单会员折扣累计消费以及后台管理.zip
- 俄罗斯方块闯关版,基于Python实现.zip
- 该项目是基于Python和数据库实现的学生信息管理系统.zip
- 该仓库为agv系统调度软件的前后端实现。项目基于fastapi(python后端框架)和vue2实现了RESTful风格的前后端分离.zip
- 该项目是基于Scrapy框架的Python新闻爬虫,能够爬取网易,搜狐,凤凰和澎湃网站上的新闻,将标题,内容,评论,时间等内容整理并保存到本地.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


