PB窗口居中顯示的公用函數


在PB9.0之下的版本中,因為窗口沒有屬性‘Center’,必須自己編寫程序,使窗口居中。下面這個公用函數考慮的自認為比較全面,在PB9.0之前的版本中都還是非常有用的。

//*************************************************************
//* 功能:    將窗口移到屏幕的中央
//* 參數1:    aw_window  要處理的窗口
//* 返回值:  (none)
//* 調用舉例:gf_window_center(w_pay_mode) //將窗口置於屏幕的中央
//************************************************************
environment le_env
int li_ScreenHeight, li_ScreenWidth
long ll_posx,ll_posy

GetEnvironment(le_env)
if IsValid(w_main) then
li_ScreenHeight = w_main.MDI_1.Height
li_screenwidth = w_main.MDI_1.Width
else
li_ScreenHeight = PixelsToUnits(le_env.screenheight,YPixelsToUnits!)
li_screenwidth = PixelsToUnits(le_env.screenwidth,XPixelsToUnits!)
end if
if aw_window.width>li_ScreenWidth then//如果窗口超寬
ll_posx=1
else
ll_posx=(li_ScreenWidth - aw_window.Width) / 2
end if

if aw_window.height>li_ScreenHeight then//如果窗口超高
ll_posy=1
else
ll_posy=(li_ScreenHeight - aw_window.Height) / 2
end if

aw_window.Move(ll_posx ,ll_posy)



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com