Office中国论坛/Access中国论坛
标题:
[求助]如何用代码调整窗体大小
[打印本页]
作者:
wang1999
时间:
2004-9-5 19:08
标题:
[求助]如何用代码调整窗体大小
我试过用窗体的WindowHeight和WindowWidth这两个属性,但都不能更改窗体(窗口)的大小,显示为只读,但我查看帮助文档却说这个属性是可读写的,有没有方法可以动态的改变窗体大小。其实我希望实现的效果就像Sygate软件一样,点一下命令按钮后就隐藏一部分窗体,再点就出现。
作者:
wang1999
时间:
2004-9-5 21:11
没办法,只好想到用API了,代码如下,大家参考。如还更简单的方法,还请大家贴出来,谢谢Private Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _
ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const SWP_SHOWWINDOW = &H40
Private Const HWND_TOP = 0 '将窗口置于窗口列表顶部
Private Const SWP_NOMOVE = &H2 '保持当前位置(x和y设定被忽略)
Private Const SWP_NOZORDER = &H4 '保持窗口在列表的当前位置(hWndInsertAfter将被忽略)Private Sub Command0_Click()
SetWindowPos Me.hwnd, HWND_TOP, 0, 0, 400, 100, SWP_NOMOVE Or SWP_NOZORDER
End Sub
作者:
wang1999
时间:
2004-9-5 21:13
哦!对了SetWindowPos 中单位应该是象素值,VB中是缇,这一点不同
作者:
方漠
时间:
2004-9-6 04:29
Me.height=your wantsizeme.width=your wantsizeme.repaint
作者:
wu8313
时间:
2004-9-6 05:24
看看我写这个例子可以吗?分成简约和完整两个显示模式。[attach]6488[/attach]
[此贴子已经被作者于2004-9-5 21:24:24编辑过]
作者:
wang1999
时间:
2004-9-6 05:31
方漠:
可惜上述方法我已试过无用,它只能调整窗体内区域的宽度,但不能调整窗口宽度,所以用me.repaint也无效
作者:
mrl
时间:
2004-9-6 06:16
Pravite Sub FORM_Load()
DoCmd.MoveSize 500,500,3500,2000
End Sub
这样就能让窗体在启动的时候将其定位在距离屏幕顶端500踶,屏幕左边距离为500踶,同时,窗体的大小为3500×2000踶。
作者:
wang1999
时间:
2004-9-6 06:47
用了这么久Access,"movesize"方法一直没注意到
谢谢mrl!
movesize应该是简单的方法了,直接可以调用实现动态改变窗体大小,不用
API那么麻烦(不过API还是要稍微灵活一点)
[em08]
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3