|
VFP 6.0的十个实用技巧(2) =inkey(0) retu endif j=0 do while .not.feof(handle) bb=fread(handle,1) cc=chr(mod(asc(bb)+128,256)) =fseek(handle,j) =fwrite(handle,cc) ?asc(bb),asc(cc) j=j+1 enddo =fclose(handle) close all retu
---- 五.简易设置TextBox对象的输入长度 ---- 在以前的Xbase语法中,我们可以通过Picture参数定义某变量或文本栏的输入长度格式,而在VFP中的TextBox对象中则支持了Format和InputMask属性来定义输入的格式。我们可以使用比较原始的方法来进行设定,比如当要求输入有20个栏位的文本框对象时,我们可以在此对象的InputMask属性中定义为InputMask="XXXXXXXXXXXXXXXXXXXX"。
---- 但是这样的设定方法非常麻烦,尤其是当面对更长的字符串输入时更是不方便。其实我们完全可以用另外一种方法来把这样的需求设计过程变得很简单,下面就具体介绍一下这种简易的快速设定输入栏位的方法。
---- 利用Replicate()函数设定输入长度这里我们同样利用了对象的InputMask属性来定义输入格式和输入长度,但是当对象的输入比较长时,则可以借助算术表达式的方式来对其进行设定。通过属性窗口中的InputMask属性建立表达式对话框,我们可以利用Replicate()函数设定重复的"X"的个数即可(本例为20)。完成后回到属性设置窗口,我们可以看到在InputMask属性栏中出现了"=Replicate(20)"位值的表达式,这样,我们就轻松地完成了长字符输入的长度控制。由此我们也可以体会到善于使用表达式给我们带来的方便之处。
---- 六.中文文本框的设计方法
---- 在程序开发过程中,我们经常要设计一些文本框,而且这些文本框要求只能输入中文。在这种情况下,通常需手工启动某一种中文输入法。如果软件能够自动启动缺省的中文输入法,那么将会给编程人员带来很大的方便。下面的类便能实现这一功能,具体的设计步骤如下:
---- 1.创建一个新类,其基类是"TextBox",类名为"中文TextBox",存储于"myclass"类库中。
---- 2.进入类设计器后,设置"中文TextBox"的各项属性,如字体、颜色等。
---- 3.设计GotFocus事件,代码为: =IMESTATUS(1) 表示当光标移到此框后,自动启动中文输入法。
---- 4.设计LostFocus事件,代码为: =IMESTATUS(0) 表示当光标移开此框后,自动关闭中文输入法。设计好后,保存到文件即可。
---- 七.立体框类的设计方法
---- 在VFP的标准类里提供了一个形状控制类(Shape),可以简单地将S hape的"SpecialEf fect"属性设置为"0-3D",将"BackStyle"属性设为 "0-透明",来设计三维立体框。
---- 然而这样的三维立体框太单调,缺少变化。通过以下的设计方法, 我们可以作出类似于VB中的Three_D Panel那样的效果。具体设计步骤如下:
---- 1.新建一个类,基类是"Container",类名为"Three_Panel",存储于"myclass"类库中。
---- 2.进入类设计器后,设置"Three_ panel"的各项属性,如表1所示。属性设计完毕后,存入文件,就可以得到凸起效果的边框类。
|