vf中控件属性click事件代码[借鉴].pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
### Visual FoxPro 控件属性与事件详解 #### 一、文字滚动效果实现 在Visual FoxPro(VF)中,为了实现在表单上的文字滚动效果,可以通过以下步骤完成: 1. **添加计时器控件**:在表单中添加一个计时器控件。 2. **设置计时器属性**:将计时器的`INTERVAL`属性设置为30毫秒,这意味着每30毫秒执行一次定时器事件。 3. **编写定时器事件代码**: ```pascal if thisform.label1.left + thisform.label1.width = 0 thisform.label1.left = thisform.width else thisform.label1.left = thisform.label1.left - 1 endif ``` 这段代码通过不断减小标签的位置来实现从右向左移动的效果。当标签完全移出可视区域后,将其位置重置为表单的最右侧。 #### 二、文字闪烁效果实现 如果希望文字不仅滚动,还能闪烁,可以进一步实现文字颜色的周期性变化: 1. **声明变量**:在表单的`ALWAYSONTOP`属性中声明一个变量`I`,并初始化为0。 2. **定时器事件代码**: ```pascal i = i + 10 if i >= 255 * 2 thisform.timer1.enabled = .T. i = 0 endif if i >= 255 thisform.label1.forecolor = RGB(255 * 2 - i, 50, 110) else thisform.label1.forecolor = RGB(i, 80, 170) endif ``` 通过调整颜色的RGB值实现颜色的周期性变化。这里使用了`RGB`函数来设置文字颜色,并通过增加变量`i`的值来改变颜色。 #### 三、密码验证功能实现 为了实现基本的用户名和密码验证功能,可以按照以下步骤操作: 1. **设计界面**:在表单中添加两个文本框(分别用于输入用户名和密码),以及两个命令按钮(一个用于确认登录,另一个用于取消)。 2. **数据库准备**:创建包含用户名和密码的数据表。 3. **编写点击事件代码**: ```pascal if thisform.text1.value = "" .or. thisform.text2.value = "" messagebox("用户名或密码不能为空!", 0 + 48, "警告!") else SELECT 1 USE shujubiao\yonfu.dbf IF name = ALLT(thisform.text1.value) .AND. mm = ALLT(thisform.text2.value) USE thisform.text1.value = "" thisform.text2.value = "" WAIT "登陆成功,正在加载数据,等稍等" TIME 2 WINDOWS thisform.visible = .F. thisform.release CLOSE ALL DO FORM zym.scx ELSE USE messagebox("用户名或密码错误,请重新输入!", 0 + 48, "警告!") thisform.text1.value = "" thisform.text2.value = "" ENDIF ENDIF ``` 以上代码首先检查输入是否为空,然后查询数据库中的用户名和密码是否匹配。如果匹配,则执行登录成功后的操作;如果不匹配,则提示错误。 #### 四、密码修改功能实现 密码修改功能可以基于已有的用户登录系统来扩展实现: 1. **设计界面**:在表单中添加四个文本框,分别用于输入旧用户名、旧密码、新用户名和新密码。 2. **数据库准备**:使用与登录相同的数据库。 3. **编写点击事件代码**: ```pascal if thisform.text1.value = "" .or. thisform.text2.value = "" .or. thisform.text3.value = "" .or. thisform.text4.value = "" messagebox("存在空输入框,无法修改!", 0 + 64, "警告") else USE 表 1.dbf IF NOT EOF() LOCA FOR name = ALLT(thisform.text1.value) .AND. mm = ALLT(thisform.text2.value) IF name = ALLT(thisform.text1.value) .AND. mm = ALLT(thisform.text2.value) IF messagebox("要保存修改吗?", 32 + 4 + 256, "询问;") = 6 REPLACE name WITH thisform.text3.value, mm WITH thisform.text4.value IF messagebox("修改已完成,是否退出?", 32 + 4 + 256, "询问") = 6 USE thisform.release ENDIF ENDIF ENDIF ENDIF ENDIF ``` 这段代码同样检查输入的有效性,然后根据用户输入更新数据库中的用户名和密码。 通过以上方法,可以在Visual FoxPro中实现文字滚动、文字闪烁、密码验证及修改等功能。这些功能不仅可以提升应用程序的用户体验,还可以增加程序的安全性和功能性。
- 粉丝: 7
- 资源: 14万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- YoloX目标检测算法的结构原理及其应用优化
- java-leetcode题解之Populating Next Right Pointers in Each Node.java
- java-leetcode题解之Plus One.java
- java-leetcode题解之Play with Chips.java
- java-leetcode题解之PIO.java
- java-leetcode题解之Permutation Sequence.java
- java-leetcode题解之Permutation in String.java
- java-leetcode题解之Perfect Squares.java
- java-leetcode题解之Path with Maximum Gold.java
- java-leetcode题解之Path Sum III.java