在VFP实际开应用中,您是否遇到多次打开一个窗口(窗口为非模式),产生程序冲突而致使程序出错呢?本文介绍一种方法,通过查找指定标题的表单,判断表单(表单名需要唯一)是否已打开。
*-------------------------声明--------------------Start*
*环境:VFP 8.0
*作者:狂龙骄子
*日期:2010-04-01
*说明:如果引用,请说明转载来源
*-------------------------声明--------------------End*
*-------------------------通过遍历窗口名判断指定标题的表单是否已打开--------------------Start*
*-----调用方法:
*-----? f_bFind_Specify_Form("表单标题")
*-----返回值类型:
*-----逻辑真(.T.,找到)、逻辑假(.F.,未找到)
Function f_bFind_Specify_Form
Lparameters lsfrmForm_Caption as String
Local liFormCount as Integer
liFormCount = _screen.FormCount &&获取主窗口中已打开表单的个数
* 遍历当前所有打开的表单
For liLoop = 1 TO liFormCount
If Upper(Alltrim(_screen.Forms(liLoop).Caption)) == Upper(Alltrim(lsfrmForm_Caption))
Return .T.
Endif
Endfor
Return .F.
Endfunc
*-------------------------通过遍历窗口名判断指定标题的表单是否已打开--------------------End*