1.窗体最大化时其他控件确实也按比例扩大了,但只是一个界面扩大了,另一个界面不是什么都没有就是显示和第一个界面一样的内容,
2.标签有略微被移位和掩盖现象,求帮助。
下面是界面
[img=http://user.qzone.qq.com/836084886/infocenter][/img]
10 个解决方案
#1
[img=http://hi.csdn.net/space.php?uid=117086&do=album&id=83892][/img]
#3
[img=http://hi.csdn.net/space-117086-do-album-id-83892.html][/img]
#4
各位大侠帮帮忙啊
#5
图片看不了
#6
是啊
,我的等级不够,图片传不上去啊
你加我QQ行吗,我把图传给你,谢谢,
一会一定给分。
,我的等级不够,图片传不上去啊
你加我QQ行吗,我把图传给你,谢谢,
一会一定给分。
#7
我的QQ:836084886
#8
无代码无真相
#9
这是代码,
'-------------调整窗体最大化------------------------------------------------------------
'Option Explicit
Private InitWidth As Long ' Form 的原始大小
Private InitHeight As Long
Private Sub Form_Resize()
Dim D(4) As Double
Dim I As Long
Dim TempPos As Long
Dim StartPos As Long
Dim Ctl As Control
Dim TempVisible As Boolean
Dim ScaleX As Double
Dim ScaleY As Double
ScaleX = ScaleWidth / InitWidth
ScaleY = ScaleHeight / InitHeight
On Error Resume Next
For Each Ctl In Me
TempVisible = Ctl.Visible
Ctl.Visible = False
StartPos = 1
' 读取 Control 的原始位置、大小、字型大小
For I = 0 To 4
TempPos = InStr(StartPos, Ctl.Tag, " ", vbTextCompare)
If TempPos > 0 Then
D(I) = Mid(Ctl.Tag, StartPos, TempPos - StartPos)
StartPos = TempPos + 1
Else
D(I) = 0
End If
' 根据比例设定 Control 的位置、大小、字型大小
Ctl.Move D(0) * ScaleX, D(1) * ScaleY, D(2) * ScaleX, D(3) * ScaleY
'Ctl.Width = D(2) * ScaleX
'Ctl.Height = D(3) * ScaleY
If ScaleX < ScaleY Then
Ctl.FontSize = D(4) * ScaleX
Else
Ctl.FontSize = D(4) * ScaleY
End If
Next I
Ctl.Visible = TempVisible
Next Ctl
On Error GoTo 0
End Sub
#10
帮帮忙吧。。。
我觉的窗体中控件没有全部按比例变化(有一个界面的丢失了)是因为For Each Ctl In Me 的Me仅仅针对SSTAB的一个界面,所以另一个界面的控件丢失了,怎么解决呢?
我觉的窗体中控件没有全部按比例变化(有一个界面的丢失了)是因为For Each Ctl In Me 的Me仅仅针对SSTAB的一个界面,所以另一个界面的控件丢失了,怎么解决呢?
#1
[img=http://hi.csdn.net/space.php?uid=117086&do=album&id=83892][/img]
#2
#3
[img=http://hi.csdn.net/space-117086-do-album-id-83892.html][/img]
#4
各位大侠帮帮忙啊
#5
图片看不了
#6
是啊
,我的等级不够,图片传不上去啊
你加我QQ行吗,我把图传给你,谢谢,
一会一定给分。
,我的等级不够,图片传不上去啊
你加我QQ行吗,我把图传给你,谢谢,
一会一定给分。
#7
我的QQ:836084886
#8
无代码无真相
#9
这是代码,
'-------------调整窗体最大化------------------------------------------------------------
'Option Explicit
Private InitWidth As Long ' Form 的原始大小
Private InitHeight As Long
Private Sub Form_Resize()
Dim D(4) As Double
Dim I As Long
Dim TempPos As Long
Dim StartPos As Long
Dim Ctl As Control
Dim TempVisible As Boolean
Dim ScaleX As Double
Dim ScaleY As Double
ScaleX = ScaleWidth / InitWidth
ScaleY = ScaleHeight / InitHeight
On Error Resume Next
For Each Ctl In Me
TempVisible = Ctl.Visible
Ctl.Visible = False
StartPos = 1
' 读取 Control 的原始位置、大小、字型大小
For I = 0 To 4
TempPos = InStr(StartPos, Ctl.Tag, " ", vbTextCompare)
If TempPos > 0 Then
D(I) = Mid(Ctl.Tag, StartPos, TempPos - StartPos)
StartPos = TempPos + 1
Else
D(I) = 0
End If
' 根据比例设定 Control 的位置、大小、字型大小
Ctl.Move D(0) * ScaleX, D(1) * ScaleY, D(2) * ScaleX, D(3) * ScaleY
'Ctl.Width = D(2) * ScaleX
'Ctl.Height = D(3) * ScaleY
If ScaleX < ScaleY Then
Ctl.FontSize = D(4) * ScaleX
Else
Ctl.FontSize = D(4) * ScaleY
End If
Next I
Ctl.Visible = TempVisible
Next Ctl
On Error GoTo 0
End Sub
#10
帮帮忙吧。。。
我觉的窗体中控件没有全部按比例变化(有一个界面的丢失了)是因为For Each Ctl In Me 的Me仅仅针对SSTAB的一个界面,所以另一个界面的控件丢失了,怎么解决呢?
我觉的窗体中控件没有全部按比例变化(有一个界面的丢失了)是因为For Each Ctl In Me 的Me仅仅针对SSTAB的一个界面,所以另一个界面的控件丢失了,怎么解决呢?