• 全部
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

帮帮忙

wk442027490 2008-04-07 02:24:09
哪位高手帮我写个窗口居中的全局函数谢谢
...全文
19 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lllyyymmm 2008-04-07
支持1楼的
回复
SKY_4K_PPM 2008-04-07
// F_CENTER() RETURNS INTEGER

=========================================================
INT LI_SCREENHEIGHT,LI_SCREENWIDTH,LI_RC,LI_X=1,LI_Y=1
ENVIRONMENT LENV_OBJ
IF ISNULL(THIS) OR NOT ISVALID(THIS) THEN RETURN -1
IF GETENVIRONMENT(LENV_OBJ)=-1 THEN RETURN -1
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
IF LI_SCREENWIDTH>THIS.WIDTH THEN
LI_X=(LI_SCREENWIDTH/2) - (THIS.WIDTH/2)
END IF
IF LI_SCREENHEIGHT>THIS.HEIGHT THEN
LI_Y=(LI_SCREENHEIGHT/2) -(THIS.HEIGHT/2)
END IF
LI_RC=THIS.MOVE(LI_X,LI_Y)
IF LI_RC<>1 THEN RETURN -1
RETURN 1
=================================================================
回复
leio 2008-04-07
pb9及以上,窗口有个center属性,直接勾上就行。

pb9以下在open事件中写

long ll_ScreenH,ll_ScreenW
Environment le_Env

GetEnvironment(le_Env)

ll_ScreenH = PixelsToUnits(le_Env.ScreenHeight, YPixelsToUnits!)
ll_ScreenW = PixelsToUnits(le_Env.ScreenWidth , XPixelsToUnits!)

w_Window.Y = (ll_ScreenH - w_Window.Height) / 2
w_Window.X = (ll_ScreenW - w_Window.Width ) / 2
回复
相关推荐
发帖
PowerBuilder
创建于2007-09-28

865

社区成员

PowerBuilder 相关问题讨论
申请成为版主
帖子事件
创建了帖子
2008-04-07 02:24
社区公告
暂无公告