1、判断某个控件是否存在,可用下面语句:
IF TYPE("Thisform.Combox3")="O"
=Messagebox("Combox3控件已存在!",0+64,"提示")
ENDIF
2、VFP表格中插入进度条
(1)先创建一个myclass程序,内容如下:
DEFINE CLASS ColorBar as Container &&自定义一个进度条类
visible = .T.
backstyle = 0 &&设置容器背景透明,即显示Grid的白色背景
borderwidth = 0 &&去除容器边线
ADD OBJECT label1 as label WITH alignment=2,forecolor=0 &&Label居中显示
PROCEDURE BackStyle_ACCESS
this.label1.width = this.parent.Width*TMP_V_采购合同表.付款进度 &&设置Label的宽度
this.label1.backcolor = 0x90FF90 &&设置Label的背景色
this.label1.caption = TRANSFORM(INT(100*TMP_V_采购合同表.付款进度))+"%" &&设置Label的Caption
RETURN this.BackStyle
ENDPROC
ENDDEFINE
(2)在Form的int事件加入:
SET PROCEDURE TO myclass
(3)在Grid赋值代码处入如下代码:
This.Grid1.Column1.ControlSource=""
This.Grid1.Column1..Sparse=.F.
IF TYPE("This.Grid1.Column1..Text1")="O" &&判断该控件是否存在(不删除的话,程序重复执行会报错)
This.Grid1.Column1..RemoveObject("Text1")
ENDIF
IF TYPE("This.Grid1.Column1..ct1")="O" &&判断该控件是否存在(不删除的话,程序重复执行会报错)
This.Grid1.Column1..RemoveObject("ct1")
ENDIF
This.Grid1.Column1.Addobject("ct1","ColorBar")
This.Grid1.Column1.ct1.Width=This.Grid1.Column1.width