设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2228|回复: 7
打印 上一主题 下一主题

[窗体] [求助]如何用代码调整窗体大小

[复制链接]
跳转到指定楼层
1#
发表于 2004-9-5 19:08:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我试过用窗体的WindowHeight和WindowWidth这两个属性,但都不能更改窗体(窗口)的大小,显示为只读,但我查看帮助文档却说这个属性是可读写的,有没有方法可以动态的改变窗体大小。其实我希望实现的效果就像Sygate软件一样,点一下命令按钮后就隐藏一部分窗体,再点就出现。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2004-9-5 21:11:00 | 只看该作者
没办法,只好想到用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

3#
 楼主| 发表于 2004-9-5 21:13:00 | 只看该作者
哦!对了SetWindowPos 中单位应该是象素值,VB中是缇,这一点不同
4#
发表于 2004-9-6 04:29:00 | 只看该作者
Me.height=your wantsizeme.width=your wantsizeme.repaint
5#
发表于 2004-9-6 05:24:00 | 只看该作者
看看我写这个例子可以吗?分成简约和完整两个显示模式。



[此贴子已经被作者于2004-9-5 21:24:24编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
 楼主| 发表于 2004-9-6 05:31:00 | 只看该作者
方漠:可惜上述方法我已试过无用,它只能调整窗体内区域的宽度,但不能调整窗口宽度,所以用me.repaint也无效
7#
发表于 2004-9-6 06:16:00 | 只看该作者
Pravite Sub FORM_Load()

DoCmd.MoveSize 500,500,3500,2000

End Sub

这样就能让窗体在启动的时候将其定位在距离屏幕顶端500踶,屏幕左边距离为500踶,同时,窗体的大小为3500×2000踶。

8#
 楼主| 发表于 2004-9-6 06:47:00 | 只看该作者
用了这么久Access,"movesize"方法一直没注意到谢谢mrl!movesize应该是简单的方法了,直接可以调用实现动态改变窗体大小,不用API那么麻烦(不过API还是要稍微灵活一点)[em08]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-22 01:36 , Processed in 0.103257 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表