注册 登录
编程论坛 VFP论坛

如何计算 nRow, nColumn ? 信息提示框的位置?

ljlhpop 发布于 2022-04-29 21:08, 1686 次点击
WAIT WINDOW "正在计算中 "NOWAIT At x,y

查了说明书
AT nRow, nColumn
在Visual FoxPro 中,指定消息窗口在屏幕上的位置。
没看到NROW,Ncolumn 怎么计算出来? 请问各位老师傅, 这2个数值怎么计算?1920*1080分辨率的的话,要把提示信息居中显示,要怎么计算这坐标?
9 回复
#2
独木星空2022-04-29 21:30
回复 楼主 ljlhpop
这个问题,在我的程序中从来没有考虑过,它在什么位置出现有区别吗?如果是其他目的另说。
#3
sdta2022-04-29 22:32
x,y分别代表第X行及Y列
WAIT WINDOW "正在计算中 "NOWAIT At 5,20
WAIT WINDOW "正在计算中 "NOWAIT At 15,60
WAIT WINDOW "正在计算中 "NOWAIT At 35,90
#4
hu9jj2022-04-30 07:31
可以获得当前屏幕的分辨率,然后就容易确定消息框的起始位置了。
#5
吹水佬2022-04-30 07:42
wrows()
wcols()
#6
ljlhpop2022-04-30 08:17
回复 2楼 独木星空
在屏幕居中看的比较爽....
#7
ljlhpop2022-04-30 08:18
回复 3楼 sdta
知道X,Y 是代表行和列,,就是不知道说这个行和列,,跟分辨率的对应关系
#8
ljlhpop2022-04-30 08:24
回复 4楼 hu9jj
如何计算?分辨率于行列的对应关系?
#9
ljlhpop2022-04-30 08:25
回复 5楼 吹水佬

返回活动窗口或指定窗口中的行-列数。

有点线索,,,再研究研究
#10
cjtang2023-09-05 16:19
试试以下代码呢:
无论表单最大化,最小化,还是位于任意位置,基本都能居中

      pmh=SYSMETRIC(2)           &&屏幕高度
      pmw=SYSMETRIC(1)           &&屏幕宽度
      bdt=myform.Top             &&表单top
      bdl=myform.Left            &&表单left
      bdh=myform.Height          &&表单高度
      bdw=myform.Width           &&表单宽度
      wait WINDOW '你的提示信息' AT IIF(bdt+bdh>pmh,pmh-bdt,bdh)/14/2+bdt/14,IIF(bdl+bdw>pmw,pmw-bdl,bdw)/7/2+bdl/6 nowait NOCLEAR
1