第 1 页:一.INSERT命令与APPEND命令 二.实现组合框的记忆选择
第 2 页:三.声音的播放
第 3 页:四.工具条的制作
第 4 页:五.“飞播字幕”的制作 六.巧用Grid对象
第 5 页:七.改进VFP的searchclass.vcx
第 6 页:八.制作影视字幕
第 7 页:九.为应用程序添加“每日一贴”的功能
第 8 页:十.窗口相关技巧
八.制作影视字幕
---- 在影视剧中,我们经常见到这样的字幕效果:在黑色的背景画面下,红色(或白色)文字渐渐显现出来,然后又渐渐消失在背景中。要实现这个效果并不难,今天我们就用中文版Visual FoxPro 3.0的表单来模仿一下这个文字渐入渐出的动画过程。
---- (一)、添加控件,制作表单
---- 1.在新建的空白表单中添加一个“标签”控件并选中它,然后在其对应的“属性” 窗口中依次进行如下设置:
AutoSize .T.
BackStyle 透明
Caption 渐入渐出效果演示
FontBold .T.
FontName 幼圆
FontSize 18
FontUnderline .T.
ForeColor 0,0,0
---- 其它没有提及的设置保留默认值,以下同此。
---- 2.在表单中添加一个“命令按钮” 控件并选中它,然后在其对应的“属性”窗口中依次进行如下设置:
Caption 演示开始
FontName 仿宋_GB2312
FontSize 14
Height 30
Width 217
---- 3.在表单中添加一个“计时器”控件 ,它可以放在表单中的任何位置,表单运行时是不可见的。选中它,然后在其对应的“属性”窗口中进行如下设置:
Enabled .F.
Interval 100(ms)
---- 经过上面的步骤,再对控件的位置做些调整后,即得到如图(见t02.jpg文件) 所示的表单。
---- (二)、为控件添加代码
---- 1进入“演示开始”(Command1)按钮的“Click”事件代码窗,输入以下代码:
if thisform.timer1.enabled=. F.
thisform.timer1.enabled=. T.
endif
---- 用鼠标单击该按钮后,计时器开始运行,并启动Timer事件。
---- 2.进入“计时器”的“Timer”事件代码窗,输入以下代码:
i=i+10
if i>=255*2
thisform.timer1.enabled=. F.
i=0
endif
if i>=255
thisform.label1.forecolor=RGB (255*2- i, 0,0)
else
thisform.label1.forecolor=RGB (i, 0,0)
endif
---- Timer事件的作用是, 当计时器开始运行时(enabled值为.T.),就以Interval所规定的值为时间间隔不断运行Timer中的代码,直到计时器的enabled值为.F.为止。
---- RGB(red,green,blue) 函数通过其中红、绿、蓝三个参数的值(0~255)的不同组合可得到不同颜色。上面代码的作用即是通过逐渐改变标签(Lable1)中文字“淡入淡出效果演示”的颜色,使其从黑色(0,0,0)变为红色(255,0,0),再从红色变回黑色,因为前面将标签背景已设为透明,即与表单的颜色相同,所以当表单的颜色也为黑色时,就实现了文字的渐入渐出效果。
---- 具体实现的代码很简单:
---- (1) 当i>255*2,表示文字已经过了由黑变红再返回黑色的过程,于是停止定时器运行。
---- (2)当i>255,文字处于由红转黑的渐隐过程,此时红色值255*2-i由255逐渐减为0。
---- (3)当i<255,文字处于由黑转红的渐现过程,此时红色值i由0逐渐增至255。
---- 要注意的是, 如果变量i每次循环的增量和计时器中Interval的值设置不当,会出现文字一现即逝或半天显不出来的情况。
---- 3.在表单空白处右击鼠标进入“Form1” 的“Activate”事件代码窗,为在计时器中使用的变量i进行定义和初始化:
Public i
i=0
---- (三)、最后的修改及表单的运行
---- 在表单中除控件外的其它位置点击鼠标, 使属性窗口中显示表单form1的属性,然后做如下修改:
BackColor 0,0,0
Caption 字幕效果
---- 现在选择系统选单中的“表单-运行表单”,运行表单后,单击“演示开始”按钮
---- ……快动手试试吧。
---- 该程序在中文Windows 98、Visual FoxPro 3.0中文专业版中调试运行通过。