pfc中,窗体居中,可以直接使用窗体的服务,代码如下:
of_SetBase(True)
inv_base.of_Center()
十分简单。第一句启用窗体服务,第二句,调用服务的居中函数,如果不使用pfc,我们可以直接把of_Center函数拷贝出来,自己建一个函数用,代码如下:
Integer li_screenheight
Integer li_screenwidth
Integer li_rc
Integer li_x = 1
Integer li_y = 1
environment lenv_obj
//Check for a window association with this object
If IsNull(iw_requestor) Or Not IsValid (iw_requestor) Then
Return -1
End If
// Get environment
If GetEnvironment (lenv_obj) = -1 Then
Return -1
End If
// Determine current screen resolution and validate
li_screenheight = PixelsToUnits (lenv_obj.screenheight, YPixelsToUnits!)
li_screenwidth = PixelsToUnits (lenv_obj.screenwidth, XPixelsToUnits!)
If Not (li_screenheight > 0) or Not (li_screenwidth > 0) Then
Return -1
End If
// Get center points
If li_screenwidth > iw_requestor.Width Then
li_x = (li_screenwidth / 2) - (iw_requestor.Width / 2)
End If
If li_screenheight > iw_requestor.Height Then
li_y = (li_screenheight / 2) - (iw_requestor.Height / 2)
End If
// Center window
li_rc = iw_requestor.Move (li_x, li_y)