建设一个个人网站不需要做亚马逊一年赚了60万
2026/1/9 22:07:53 网站建设 项目流程
建设一个个人网站不需要,做亚马逊一年赚了60万,城市轨道建设规范下载网站,阿里云wordpress有什么用上一讲心铃和大家一起建立了一个VFP的应用程序#xff0c;但若要深入地理解程序是如何工作的#xff0c;乃至编写具有自己风格的应用程序#xff0c;还必须了解一些VFP程序设计的基础知识。本讲主要介绍VFP中面向对象的有关内容。一.对象 在VFP中#xff0c;包含在应用程…上一讲心铃和大家一起建立了一个VFP的应用程序但若要深入地理解程序是如何工作的乃至编写具有自己风格的应用程序还必须了解一些VFP程序设计的基础知识。本讲主要介绍VFP中面向对象的有关内容。一.对象在VFP中包含在应用程序中的表单及各种控件都是对象。对象是包含数据和代码的实体。在程序设计中用属性、事件和方法来说明对象属性就是对象的数据事件和方法则是对象中包含的代码。属性每个对象都具有属性属性表明了对象的一些基本特征如大小、颜色、所处的位置等。表5.1列出了命令按钮对象的部分常用属性表5.1 命令按钮的常用属性属性说明Caption显示在按钮上的标题Name按钮对象的名称FontName按钮的字体名ForeColor前景颜色表5.2 命令按钮的典型事件事件说明Init对象被创建时激活Click单击对象时激活MouseDown按下鼠标按钮时激活事件事件是一种预先定义好的特定动作被用户或系统激活每个对象都可以对事件的动作进行识别和响应。在多数情况下事件是由用户的交互行为产生的例如对一部电话来说当用户提起听筒时便激发了一个事件同样当用户拨号打电话时也激发了若干事件。事件集合是固定的用户不能进行扩充。表5.2列出了命令按钮的典型事件。方法方法实际上就是对象的内部函数每个类型的对象都有它自己的方法集。例如在命令按钮对象中调用Move方法可以移动按钮的位置。与事件不同的是方法可以由用户进行扩展。表5.3列出了表单对象的常用方法。表5.3 表单对象的常用方法。方法说明Refresh重画表单和控制刷新表单中的所有值Show显示表单Hide隐藏表单请用以下任一种方法打开我们在上一讲建立的“学生情况”表单。在项目管理器的“学生情况”表单项上双击。先选中“学生情况”表单项然后在单击“修改”命令按钮或回车。先选中“学生情况”表单项然后在VFP菜单上选择“项目/修改文件”。如果项目管理器处于最小化的状态还可以试试鼠标右键。在表单中“学号”字样处单击在它的周围会出现一系列的小方块这说明它是一个对象。现在我们来看看它的属性用鼠标右键单击“学号”在弹出的快捷菜单中选择“属性”屏幕上将出现如图5.1所示的“属性”窗口。用鼠标右键单击“属性”窗口的标题区在弹出的快捷菜单中可以选择您喜欢的显示方式。属性窗口由包含五个卡片的页框组成全部显示所有的属性、事件和方法。数据只显示对象数据的源、输入格式、长度字段是否只读等。方法程序只显示方法和事件。其中有“Event”的项是事件其余的是方法。布局只显示颜色、可视性、字体以及其它一些与对象外观相关的一些属性。其他只显示类信息拖动方式状态的允许与禁止对象名以及其它的一些内容。每个页框上的每一页的属性列表依赖于所选的对象类型。对对象进行选择的方法有两种可以直接在对象上单击也可以从对象名列表中挑选。例如在表单的背景中的任意处单击表单的名字Form1将出现在对象名框中。二.处理对象当一个对象被选中时如果要改变它的属性则先在“属性”窗口的属性列表中选择要改变的属性然后在属性值设置框中输入或选取一个值即可。用对象编程的大量工作是了解存在哪些属性可以赋予什么值基于所赋予的值将会产生什么效果。例如透明的对象允许背景颜色透过来不透明的对象具有自己的背景颜色。仅仅通过把对象的BackStyle属性从不透明改为透明就可以很任意地修改一个对象的外观和特性。当然有时候我们也需要在程序中以命令方式来处理对象在这种情况下首先需要知道对象相对于容器层次的关系。如图5.2所示FormSet1是一个表单集对象Form1是包含在FormSet1中的一个表单对象Txt1和Group1是包含在Form1中的文本框对象和选项按钮组对象Opt1和Opt2是包含在Group1中的选项按钮对象。其中FormSet1、Form1和Group1叫做容器对象而Txt1和Opt1、Opt2叫做控制对象。容器对象可以包含其他的对象而控制对象则不能。对于Txt1对象我们可以用如下形式访问FormSet1.Form1.Txt1若要访问Opt2对象需用如下形式FormSet1.Form1.Group1.Opt2在容器层次中访问对象时还可以通过快捷方式访问到对象下表列出了可以快捷访问对象的关键字关键字引用关系THIS该对象本身THISFORM该对象所在的表单THISFORMSET该对象所在的表单集Parent包含该对象的直接容器假使在对象Txt1中要访问对象Group1则可以使用THISFORM.Group1 或者THIS.Parent.Group1其中THIS就代表Txt1对象THISFORM和THIS.Parent都是指表单Form1对象。以命令方式设置对象属性的语法形式为Object.Property Value还以图5.2为例FormSet1.Form1.Txt1.Enabled .f. 使Txt1不可用有时需要同时设置一个对象的多个属性这时我们可采用WITH…ENDWITH结构如WITH FormSet1.Form1.Txt1 .Visible .t. 使其可见 .Enabled .t. 使其可用 .backcolor rgb(192,192,192) 使其背景为浅灰色ENDWITH三.响应事件和调用方法当对象的事件发生时该事件的过程代码就被自动执行例如用户单击命令按钮将产生一个Click事件命令按钮的Click事件代码被执行。下面几点需要特别强调说明一下事件一般是由用户的交互方式触发的如单击或双击鼠标按下键盘上的键也有些是被系统触发的象计时器控制中的Timer事件。在没有事件发生时用户也可以显式地调用与事件相关的过程如语句Parent.Object.Activate将使Activate事件代码被执行但事件并不发生。对象的方法需要显式地被调用且可以在程序的任何地方。下面的语句调用Show方法来显示表单并设置输入焦点在命令按钮上FormSet1.Form1.ShowFormSet1.Form1.ComdBut1.SetFocus如果在调用方法式需要传递参数应该将参数包括在方法名后的圆括号中如果是调用方法后有返回值即使没有传递参数在方法名后也要加圆括号。示例如下THIS.Move(100,50) 传递参数给方法THIS.CaptionTHISFORM.GetNewCaption() 方法的返回值作为对象的新标题四.对事件的进一步讨论VFP提供了比较全面的事件处理机制使得程序员能够较容易地为用户设计基于事件驱动的、内容更丰富的交互环境。为了达到这一点必须对VFP的事件模型有深入的了解。1.VFP中的事件每一个类都有自己的事件集合不同的类有不同的事件种类如计时器具有Timer事件而其它的类则没有但也有一些事件是大多数类都具有的下表是一些通常使用到的、大多数类都具有的VFP核心事件事件何时被激活Init对象被创建时Destroy对象从内存中释放时error类中的事件或方法过程中发生错误时Load表单或表单集被加载到内存中Unload从内存中释放表单或表单集Click用鼠标左键单击对象GetFocus按TAB键或单击对象或在程序中调用SetFocus方法使对象接受输入焦点LostFocus对象失去输入焦点InteractiveChange以交互方式改变对象的值表5.5 VFP核心事件2.容器与对象事件在实际应用中控制对象一般都被包含在容器对象中如命令按钮、文本框包含在表单中页面控制包含在页框中等那么当用户单击命令按钮时是命令按钮的Click事件被触发还是表单的Click事件被触发或者是两个对象的Click事件都被触发实际上当事件发生时只有与事件相关联的最里层对象识别该事件更高层的容器不识别这个事件。因此当用户单击命令按钮时只有该命令按钮的Click事件被触发而包含命令按钮的容器——表单则不识别这个Click事件。即使该命令按钮没有与Click事件相关联的事件代码而表单有自己的Click事件代码也不会执行表单的事件代码。有一个例外的情况如果为选项按钮组或命令按钮组容器编写了事件代码而组中的按钮没有相应的事件代码则当按钮的事件发生时将执行按钮组的事件代码。如果组中的按钮有相应的事件代码就不执行组的事件代码而执行按钮本身的事件代码。3.事件的顺序基于事件驱动的编程技术不同于传统的过程化程序设计程序的执行顺序不是在设计时确定的而是取决于事件的顺序。有时一个用户动作只触发一个事件而有些情况下会有多个事件接连发生如包含多个对象的表单被启动运行的时候这样的情况下了解事件发生的顺序是很重要的否则就无法确定该往哪个事件中写入代码。下面列出当启动运行VFP的表单时有关对象的事件顺序其他的事件依赖于用户的动作或系统的反应如计时器的Timer事件。对象发生的事件数据环境Data environmentBeforeOpenTables表单集FormSetLoad表单FormLoad数据环境中的临时表Data environment cursorsIntiData environmentInti表单中的对象ObjectsIntiFormIntiFormSetIntiActivateFormActivateObjectsWhenGotFocusMessageValidLostfocusDestroyFormUnloadFormSetUnloadData environmentAfterCloseTablesDestroyData environment cursorsDestroy表5.6 运行表单时的事件顺序通过本讲的讲述相信大家已初步熟悉了VFP中的面向对象的有关内容。您可以试着用“属性”窗口来修改“学生情况”表单和它包含的对象的属性只有多加练习才能加深理解。OKSee you later!心铃猫猫的心里话加菲猫的VFP|狐友会社群接收投稿啦加菲猫的VFP用VFP不局限VFP用VFP混合一切。无论是VFP还是JS还是C只要能混合起来都可以发表。商业模式销售技巧、需求规划、产品设计的知识通通可以发表。暂定千字50元红包优秀的文章红包更大一经发表红包到手。如何帮助使用VFP的人用VFP的人有专业的有非专业了很多人其实是小白问出的问题是小白如果问题不对我们引导他们问正确的问题。无论如何请不要嘲笑他们说帮助都不看这么简单的问题都不会嘲笑别人不行而无法提出建设性答案是很low的。我们无论工作需要还是有自己的软件都是是需要真正的知识如何让更多人学习真正的VFP知识呢只需要点赞在看能转发朋友圈就更好了。加菲猫的vfp倡导用VFP极简混合开发少写代码、快速出活用VFP但不局限于VFP各种语言混合开发。我已经带领一百多名会员成功掌到VFP的黑科技进入了移动互联网时代接下来我们要进入物联网领域。2025年狐友会社群会员继续招募中社群会员获取的权益有祺佑三层开发框架商业版猫框终身免费升级终身技术支持。开放的录播课程有微信小程序微信公众号开发H5 APP开发Extjs BS开发VFP面向对象进阶VFP中间层开发。源码类资源有支付组件源码短信源码权限组件源码一些完整系统的源码。这个可以单独出售的需要的可以联系我。会员也可以实现群内资源对接可以接分包合作等各项商业或技术业务

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询