以文本方式查看主题 - 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个值。 (屏幕宽度-窗口宽度)/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 --
为了保证程序的纯净,我新建了一个项目,只有Forms("窗口1").open(800,600)一句话,仍然是死机?
|
||||
-- 作者:有点蓝 -- 发布时间:2020/4/18 17:36:00 -- 我测试没有问题。 1、卸载foxtable,换个目录重新安装。注意安装路径不能有中文,不能有特殊字符 2、其次foxtable更新到最新版本试试
|