- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vfp中级教程
第一课 更多对象
编辑框对象(editbox)
使用编辑框控件可以编辑诸如字符型变量、数组元素、一般字段以及备注型字段的内容,而用得最多的地方就是编辑备注型字段。
VFP所有的标准编辑功能都能在此使用,比如剪切、复制、粘贴等。编辑框中的文本可以垂直滚动,并且是自动换行的。
形状对象(shape)
用于创建矩形、圆角矩形、圆和椭圆。
这里最重要的属性是curvature,用于设定曲率,为0时没有曲率,形状为矩形;99为最大曲率,为圆;0-99之间的数值可创建圆角矩形,将圆角矩形压扁到一定程度,使其两边的直线没有,而是圆角对圆角就成了椭圆。
另外设置backcolor,可改变它的填充颜色。
在线条对象中供下载的秒表程序里面有对形状的应用。
选项按钮组对象(optiongroup)
选项按钮组是一个容器,其中包含若干选项按钮,它可以让您在一组按钮中选择一个,它是单选的,即您选了一个按钮,原来所选的按钮就释放,始终只能有一个按钮被选中。
被选中的按钮是怎样的不需要我再啰嗦了吧。
使用buttoncount属性可以设置组中按钮的个数。
在程序运行时选了第几个按钮,它的value属性就是几,如果您设置了controlsource属性为一个变量,那么该变量的值也是这个数,您可以通过这个变量或其value值得知是那个按钮被选了。
在线条对象中供下载的秒表程序里面有对选项按钮组的应用。
第二课 用新的控件改进人事管理(一)
这一课我们用上一课讲的一些控件来对前面的人事管理软件进行改进,使其更易用,更不容易出错,最主要当然是为了进一步说明这些控件的用法。
先讲第一个改进,用选项按钮来选择性别
在新增和修改人事档案的表单中,本来性别是要输入的,虽然只能输入“.t.”或“.f.”,倒是不会出现输入其它字符的错误,但是很不直观,所以我们用选项按钮来改进。
(1)、将表单上输入性别的文本框换为选项按钮组,选项按钮组做好后隐含两个按钮,这里正好我们需要两个,因为性别就两种(大概不会有第三种)。
但是按钮隐含的排列是上下排列,这样很占地方,我们将其调整为水平排列,方法是:先把选项按钮组拉的比较大,使两个按钮都能看见,暂时将别的控件盖住也不要紧。然后在属性窗口中选择optiongroup1下面的option2,然后将其放到与option1水平排列的地方,如不能精确调整它的位置,看一下初级教程第七课中的精确调整对象位置。
接着设置标题,将option1的caption设为“男”,option2该设为,设好如图1。
将optiongroup1的controlsource设为xb,为什么要这样,直接设为“性别”字段不行吗?不行!因为性别字段的值是逻辑型,而optiongroup1的值为数值型,因此要用一个数值型的变量来接收optiongroup1的选择值,然后用适当方法将其变换为逻辑型存入数据表。具体方法下面会讲。
(2)、设置xb的初始值,进入“编辑人员”(bjry)表单的修改,在其 load 事件中输入如下代码:
public xbif 性别? xb=1else? xb=2endif 在这里先将xb设为公共变量,因为 load 事件程序是一个子程序,当这个程序运行完毕,其中所有的私有变量(即在本程序中创建的变量)都将释放,之后就再也找不到这个变量了,但这个变量在其它地方又要用,故将其设为公共变量
注意 这段代码不能放在 init 事件中,这是因为表单的 init 事件是在所有控件的 init 事件发生之后,而当控件的 init 事件发生时,即初始化时,就需要这个变量,而这时还没有,所以会发生找不到变量的错误,而 load 事件则是发生在所有事件之前,即表单启动的时候。 然后根据当前记录的性别字段设置xb的值,如果是“真”就设为1,即“男”,否则为2,即“女”,这样进入表单后选项按钮的黑点就会根据xb的值来显示。
注:在需要逻辑表达式作判断时,如果是逻辑变量,因为其本身就是一个逻辑表达式,为“真”的话就直接写这个变量名,为假的话就写为“.not. 变量名”,而不要写成“变量名=.t.”或“变量名=.f.”
(3)、将“新增”按钮的click事件程序改为如下:
*根据选项按钮所做的选择,将相应的值存入性别字段if xb=1? replace 性别 with .t.else? replace 性别 with .f.endifappend blank 增加一条空记录xb=1 将xb设为1*这是一个新记录,还不知道是男或女,因此一律设为1,即“男”,作为初始值thisform.text1.refresh 将text1的内容刷新,下同thisform.optiongroup1.refreshthisform.text
文档评论(0)