以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助独立或模式窗口定位  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=148894)

--  作者:hitzfeld
--  发布时间:2020/4/18 3:01:00
--  求助独立或模式窗口定位
我在窗口的afterload写入代码forms("数字输入器").SetBounds(800,600,248,322)
后两个参数改变后窗口的大小会变化,但是窗口弹出的坐标始终不会变???无论数值是多少,永远是在正中间?何解?求指点。

--  作者:有点蓝
--  发布时间:2020/4/18 8:58:00
--  
要改变坐标需要改变前面2个值。

根据屏幕宽度高度计算坐标:http://www.foxtable.com/webhelp/topics/0348.htm
(屏幕宽度-窗口宽度)/2 = x坐标

--  作者:hitzfeld
--  发布时间:2020/4/18 15:13:00
--  
蓝老师好,我就是因为改变前两个值,坐标不起作用才来请教的啊???前两个值无论是改成100,100还是800,800窗口都是在屏幕正中间。
--  作者:有点蓝
--  发布时间:2020/4/18 15:25:00
--  
如果是模式窗口,放到计时器事件,计时间隔100
e.Form.TimerEnabled = False
e.form.SetBounds(800,600,248,322)

独立窗口这样打开
Forms("窗口1").open(800,600)
Forms("窗口1").SetBounds(800,600,248,322)

其实如果代码是放到afterload的,还不如直接把窗口设计的时候就设置为248X322,然后Forms("窗口1").open(800,600)打开窗口即可,这样窗口就不会闪一下

--  作者:hitzfeld
--  发布时间:2020/4/18 17:10:00
--  
蓝老师好,第一个方法我把计时间隔设置为100,代码放到窗口的timetick事件里面,没有作用,连窗口大小都不会有作用。
第二个方法无论是独立还是模式窗口,运行的结果都是先加入假死机状态,过30秒左右提示错误:无法创建新的堆栈防护页面。点确定后狐表系统关闭。

我其实是只要定位而已,那个窗口的大小我其实已经做好了,只需要定位。我很喜欢第二段代码,简洁,容易理解。

--  作者:有点蓝
--  发布时间:2020/4/18 17:12:00
--  
我测试没有问题,上传有问题的实例测试。

如果只是定位,直接这样即可:Forms("窗口1").open(800,600)

--  作者:hitzfeld
--  发布时间:2020/4/18 17:19:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar


为了保证程序的纯净,我新建了一个项目,只有Forms("窗口1").open(800,600)一句话,仍然是死机?

--  作者:有点蓝
--  发布时间:2020/4/18 17:36:00
--  
我测试没有问题。

1、卸载foxtable,换个目录重新安装。注意安装路径不能有中文,不能有特殊字符

2、其次foxtable更新到最新版本试试