Office中国论坛/Access中国论坛

标题: 经验分享:MoveWindow 与 Move 移动窗体时的单位换算! [打印本页]

作者: sxb2007    时间: 2010-11-5 10:49
标题: 经验分享:MoveWindow 与 Move 移动窗体时的单位换算!
经验分享:MoveWindow 与 Move 移动窗体时的单位换算!
MoveWindow 是API函数 有移动窗体位置的功能  移动单位是:没有查到
Move:是系统函数,也是有移动窗体位置的功能   移动单位是:缇
但经过测试:Move/15=MoveWindow
如下:
  Call MoveWindow(窗体1.Form.hwnd, 左边值 / 15, 距离上边值 / 15 )
Forms(“窗体1”).Move 左边值, 距离上边值
以上移动的位置是一样的

分享时,同时求助一个问题?
  DoCmd.OpenForm “窗体1”, , , , , acDialog
如上,以打开参数形式,设置打开窗体的方式为:弹出式
以下程序都会提示一个错误,找不到  窗体1
  Call MoveWindow(窗体1.Form.hwnd, 左边值 / 15, 距离上边值 / 15 )
Forms(“窗体1”).Move 左边值, 距离上边值

如果窗体属性中设置打开方式为:弹出式,就没有问题 很怪的

有没有一个API函数,可以设置打开窗体的打开方式为弹出式啊 ,我查了一下API可是没有查到
先谢谢了!!


作者: tmtony    时间: 2010-11-5 10:59
有堤和像素的转换函数
作者: tmtony    时间: 2010-11-5 11:00
http://www.office-cn.net/forum-v ... ghlight-%B5%CC.html
作者: 红尘如烟    时间: 2010-11-5 23:56
本帖最后由 红尘如烟 于 2010-11-6 18:09 编辑

API函数MoveWindow的移动单位是像素,而Access中的单位是缇,一般情况下可以看作1像素=15缇,但这个并不是确定的,有可能随着设备的场景变化而变化
至于你说的找不到窗体的问题,是因为acDialog参数会将代码挂起,直到打开的窗体关闭之后,OpenForm之后的代码才会继续执行的

作者: sxb2007    时间: 2010-11-6 12:27
感谢两位老大的回答,谢谢!
作者: sxb2007    时间: 2010-11-6 12:33
不知道版主有没有时间,能不能自定义一个函数,在打开窗体时,设置窗体的大小(长、宽),打开方式(弹出、模式),边框样式(可调边框)
如真能写出,也是很牛 啊!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3