视听在线 图片中心 职教博客 职教论坛 信息查询 网络办公 同学录 免费邮箱

栏 目 导 航

科教专题
创作常识
教育论文
学科研究
科教成果
文书范本
师生风采
现代远教
校园文学
朝阳文学社
青春寄语
人文素材
精典论述
散文欣赏
缤纷诗语
精品小说
笑破肚皮
学习培训
课堂教学
信息技术
等级考试
升学考试
教师技能
试题中心
教案课件

 

网 站 统 计
学校概况:89 篇学校概况
新闻中心:206 个新闻
教学教研:455 篇教学教研
德育工作:87 个德育
视听在线:125 篇视听节目
图片:93 张图片
下载:95 个下载
注册会员:10110位
最 新 调 查
 没有任何调查

 

 

您现在的位置: 南江县职中(三中) >> 教学教研 >> 学习培训 >> 信息技术 >> 程序设计 >> VFP数据库 >> 教学教研正文
 搜索

高级搜索

  • 上一篇教学教研:
  • 下一篇教学教研: 没有了
  • 为VFP设计一个进度条类

    作者:caihz    教学教研来源:本站原创    点击数:    更新时间:2007-12-12

    在应用程序中使用一个进度条可以直观形象地显示当前处理完成的百分率,此功能的传统实现方法是在程序源代码中直接处理,这显然是一项繁重而缺乏灵活性的工作。为此,笔者在目前较为流行的VFP3.0下编写了一个具有数字和图形双重显示功能的进度条类,对应用程序而言,其调用与标准控件完全一致,并且全面支持可视化编程。

      1.建立类

      进度条类应该包含两个对象:一个显示处理过程的图形和一个显示处理完成百分率值的标签。首先,建立一个基于包容器类的自定义类,命名为ProgressBar,并在其内部建立一个图形BarShape,高度和ProgressBar相同,宽度预置为0,为便于百分率正文的显示,将图形设置为浅色(如浅蓝色)。加入标签对象TxtLabel,位置居中,宽度足够容下最大正文“100%”,颜色为深色。

      鉴于在实际应用中要求本控件的尺寸是交互可变的,因此,对ProgressBar控件的Init事件的编码为:

      THIS.BarShape.Height = THIS.Height
      THIS.BarShape.Width = 0
      THIS.TxtLabel.Alignment = 2
      THIS.TxtLabel.Left = (THIS.Width-THIS.TxtLabel.Width)/2
      THIS.TxtLabel.Top = (THIS.Height-THIS.TxtLabel.Height)/2
      THIS.TxtLabel.Caption = "0%"
      THIS.Percent=0
      自定义属性Percent用于跟踪记录当前百分率的变化;自定义的方法Show用于同时以图形和文本的方式来显示这种变化。
      方法Show的代码:
      PARAMETERS lpPercent
      *--合法性检验

      IF lpPercent < 0
       lpPercent = 0
      ENDIF
      IF lpPercent > 100
       lpPercent = 100 ENDIF

      *-刷新显示
      THIS.Percent = lpPercent
      THIS.BarShape.Width = THIS.Width*(lpPercent/100)
      THIS.TxtLabel.Caption = ALLT(STR(lpPercent))+"%"
      THIS.Refresh
      此时,进度条类设计完毕,将其存入自定义的类库中,假设类库名为:MyLib.VCX。
      2.应用示例
      一旦在VFP中注册了自定义类库MyLib.VCX,那么就能够象对待标准控制一样将其放入应用程序窗体中,通常可以由定时器或循环来激活该控制。
      例1:由定时器控制进度时的主要代码:
       ... ...
       THISFORM.Timer1.Interval = 1
       THISFORM.Timer1.Enabled = .T.
       THISFORM.Timer1.Reset
       THISFORM.ProgressBar1.Show(0)
       IF THISFORM.ProgressBar1.Percent<100
       THISFORM.ProgressBar1.Show(THISFORM.ProgressBar1.Percent+1)
       ELSE
       THISFORM.Timer1.InterVal = 0
       THISFORM.Timer1.Enabled = .F.
       ... ...
       ENDIF
       ... ...
     例2:由循环语句控制进度时的主要代码
       ... ...
       THISFORM.ProgressBar1.Show(0)
       FOR m.i=1 TO n
       THISFORM.ProgressBar1.Show(m.i/n*100)
       ... ...
       处理循环体
       ... ...
       ENDFOR
    教学教研录入:CaiHZ    责任编辑:CaiHZ 
    发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
  • 上一篇教学教研:
  • 下一篇教学教研: 没有了
  •  

    设为首页加入收藏联系站长友情链接版权申明关于我们

    本站版权所有:四川省南江县职业中学(南江三中)[C2004-2006] 【蜀ICP备05026437号】
    地址:四川省南江县南江镇光雾山大道香山路66号,电话:0827-8280443 EMail:scnjsz@126.com,传真:08278281138
    本站设计:蔡怀周,QQ:372051855   校友QQ群:11428533 7289410 18990001

    最佳浏览设置:1024×768、16位真彩色以上