表单尺寸问题

xilaianzxsc 2011-06-09 01:29:19
现有一表单,表单中的grid1的尺寸(top、width、left、height),都已在thisform.init里标注.

运行此表单,此"最大化"按钮,发现,表单中的grid1,还只有原来那么大,不跟着变大.

问:当用户点"最大化"按钮时,grid1也跟着"最大化".
当用户点"最小化"按钮时,grid1恢复到原有大小.


代码如何写?
...全文
123 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
taohua300 2011-06-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xilaianzxsc 的回复:]
grid1.resize里面,如何写?

帮举个例子.
[/Quote]

不是grid1的resize事件,是表单的resize事件

If this.WindowState = 2 && 表单最大化时
thisform.grid1.Left = 12
thisform.grid1.Left = Sysmetric(1) - 24
thisform.grid1.Height = Sysmetric(2) - thisform.grid1.Top - 12 && 如果还有菜单,任务栏常用用具蓝时,还要减去他们的高度
Else
If this.WindowState = 1
*还原到原来大小
Endif
Endif

十豆三 2011-06-09
  • 打赏
  • 举报
回复
本例 Grid1 初始时,Grid1 的 Left 为0,并 Grid1 的下边与表单下边相近。

如:

表单的 Init 事件加代码:
Public gnFormX,gnFormY,gnGridX,gnGridY
gnFormX=This.Width
gnFormY=This.Height
gnGridX=This.Grid1.Width
gnGridY=This.Grid1.Height


表单的 ReSize 方法加代码:
If This.WindowState=2
This.Grid1.Move(This.Grid1.Left,This.Grid1.Top,gnGridX+This.Width-gnFormX,gnGridY+This.Height-gnFormY)
Else
This.Grid1.Move(This.Grid1.Left,This.Grid1.Top,gnGridX,gnGridY)
Endif
xilaianzxsc 2011-06-09
  • 打赏
  • 举报
回复
grid1.resize里面,如何写?

帮举个例子.
十豆三 2011-06-09
  • 打赏
  • 举报
回复
在表单的 Resize 事件将Grid变大或变小。

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧