| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 884 人关注过本帖
标题:让控件随窗体一起放大
只看楼主 加入收藏
zhuqianzhou
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2009-12-29
结帖率:100%
收藏
 问题点数:0 回复次数:4 
让控件随窗体一起放大
Dim OldW  As Single
Dim OldH  As Single

'窗口大小发生改变时
Private Sub Form_Resize()
On Error Resume Next
'最小大小,防止比例失调
If Me.Width < 4800 Then Me.Width = 4800
If Me.Height < 3600 Then
Me.Height = 3600
Exit Sub
End If
Dim cu As Control
For Each cu In Me.Controls
'调整大小
cu.Move cu.Left * Me.Width / OldW, cu.Top * Me.Height / OldH, cu.Width * Me.Width / OldW, cu.Height * Me.Height / OldH
Next
'赋值
OldW = Me.Width
OldH = Me.Height
End Sub
搜索更多相关主题的帖子: 窗体 控件 
2010-01-08 11:39
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
Me.ScaleWidth
Me.ScaleHeight
2010-01-08 11:56
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
收藏
得分:0 

'在调用ResizeForm前先调用本函数
Public Sub resizeinit(formname As Form)

    Dim obj As Control
   
    FormOldWidth = formname.ScaleWidth
    FormOldHeight = formname.ScaleHeight
   
    On Error Resume Next
    For Each obj In formname
        obj.Tag = obj.Left & " " & obj.Top & " " & obj.Width & " " & obj.Height & " "
    Next obj
   
    On Error GoTo 0

End Sub


'按比例改变表单内各元件的大小, 在调用ReSizeForm前先调用ReSizeInit函数

Public Sub resizeform(formname As Form)

Dim pos(4) As Double
Dim i As Long, temppos As Long, startpos As Long
Dim obj As Control
Dim scalex As Double, scaley As Double


scalex = formname.ScaleWidth / FormOldWidth '保存窗体宽度缩放比例
scaley = formname.ScaleHeight / FormOldHeight '保存窗体高度缩放比例

On Error Resume Next

For Each obj In formname
startpos = 1

For i = 0 To 4 '读取控件的原始位置与大小
temppos = InStr(startpos, obj.Tag, " ", vbTextCompare)
If temppos > 0 Then
pos(i) = Mid(obj.Tag, startpos, temppos - startpos)
startpos = temppos + 1
Else
pos(i) = 0
End If

'根据控件的原始位置及窗体改变大小 的比例对控件重新定位与改变大小

obj.Move pos(0) * scalex, pos(1) * scaley, pos(2) * scalex, pos(3) * scaley

Next i

Next obj

On Error GoTo 0

End Sub

你微笑的面對整個世界,整個世界也將會微笑的面對你。
2010-01-11 11:52
freeforever
Rank: 4
等 级:业余侠客
威 望:3
帖 子:368
专家分:201
注 册:2005-11-2
收藏
得分:0 
回复 3楼 sky_yang_sky
强贴,顶了

其实我也很无聊!
2010-01-20 16:26
ryanbingo
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-9-25
收藏
得分:0 
感觉变得不好看 通常我都禁止 最大化 嘿嘿
2010-01-21 16:03
快速回复:让控件随窗体一起放大
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016277 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved