vb怎样才能让vb控件数组大小随着窗口大小改变,具体一点,因为我第一次接触这东西……谢谢!

当前位置: >
> 跪求一款能让VB控件随着窗口放大缩小自动适应的第三方控件跪求一款能让VB控件随着窗口放大缩小自动适
跪求一款能让VB控件随着窗口放大缩小自动适应的第三方控件跪求一款能让VB控件随着窗口放大缩小自动适
lovelyhay & at
跪求一款能让VB控件随着窗口放大缩小自动适应的第三方控件跪求一款能让VB控件随着窗口放大缩小自动适应的第三方控件,或者具体点的方法,代码,说清楚点,小弟是小白。。。
没有,要自己写,其实也不难,在Form_Resize()事件里加代码,那么当窗体的大小改变时就会引发这个事件,你就能改变控件的大小适应窗体。
例如:  VB code  Private Sub Form_Resize()
'先放一个按钮在窗体上
Command1.Left=120
'设置按钮的左距离是120
Command1.Width=Me.Width-480
'设置按钮一的宽度,Me代表窗体
Command1.Top=120
'设置按钮的顶距离是120
Command1.Height=Me.Height-800
'设置按钮一的宽度,Me代表窗体
lovelylingling & &
& & (0)(0)不知道哪抓到的 写成模块再去调用就好了   VB code  Option Explicit
Private FormOldWidth As Long
'保存窗体的原始宽度
Private FormOldHeight As Long
'保存窗体的原始高度
'在调用ResizeForm前先调用本函数
Private 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 & & &
On Error GoTo 0
'按比例改变表单内各元件的大小,在调用ReSizeForm前先调用ReSizeInit函数
Private 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
Pos(i) = 0
'根据控件的原始位置及窗体改变大小的比例对控件重新定位与改变大小
Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY
On Error GoTo 0
Private Sub Form_Load()
Call ResizeInit(Me) '在程序装入时必须加入
Private Sub Form_Resize()
Call ResizeForm(Me) '确保窗体改变时控件随之改变
lovelylinlin & &
& & (0)(0)
Public Type ctrObj
name As String
Index As Long
Parrent As String
Top As Long
Left As Long
Height As Long
Width As Long
ScaleHeight As Long
ScaleWidth As LongEnd TypePrivate FormRecord() As ctrObjPrivate ControlRecord() As ctrObjPrivate bRunning As BooleanPrivate MaxForm As LongPrivate MaxControl As LongPrivate Const WM_NCLBUTTONDOWN = &HA1Private Declare Function SendMessage Lib &user32& Alias &SendMessageA& (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As LongPrivate Declare Function ReleaseCapture Lib &user32& () As LongFunction ActualPos(plLeft As Long) As Long
If plLeft & 0 Then
ActualPos = plLeft + 75000
ActualPos = plLeft
End IfEnd FunctionFunction FindForm(pfrmIn As Form) As Long
Dim i As Long
FindForm = -1
If MaxForm & 0 Then
For i = 0 To (MaxForm - 1)
If FormRecord(i).name = pfrmIn.name Then
FindForm = i
Exit Function
End Iflovelyli & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-您还未登陆,请登录后操作!
怎样自定义文本框的大小?
的界面设计中,控件的大小总是沿VB设计界面的网格线改变的,如果我的控件大小在两个网格线又大了,一个又小了的情况下,怎么实现我要的大小呢!?
如:我要使文本框的大小刚好适合一副图片的大小,怎么实现?
菜单选项一栏有改变网格大小的可以调整以适合你的要求,同时也可以取消对齐网格功能。
2。可以采取多个控件对齐,等高,等宽功能改变控件的尺寸
3。在程序设计中定义控件的宽、高
您的举报已经提交成功,我们将尽快处理,谢谢!
大家还关注vb6.0怎么让窗体里的控件随着窗体的变化而改变大小?_百度知道
vb6.0怎么让窗体里的控件随着窗体的变化而改变大小?
默认状态下,窗体变大了,控件还是不变vb6.0怎么让窗体里的控件随着窗体的变化而改变大小
提问者采纳
cu.Move cu.Height * Me;最小大小.Width * Me;按比例调整控件大小代码.Left * Me.Width & 3600 Then Me.Height &lt,防止比例失调If Me.Width = 4800If Me;窗口大小发生改变时Private Sub Form_Resize()On Error Resume Next&#39, cu.Controls&#39.Height / OldH.&#39.WidthOldH = Me; OldW; 4800 Then Me.; OldW.Width &#47.Height = 3600Dim cu As ControlFor Each cu In Me.Width &#47, cu.&#39.Height /声明变量Dim OldW
As SingleDim OldH
As Single'赋值OldW = Me.Top * Me; OldHNext'调整大小cu
其他类似问题
按默认排序
其他3条回答
scalemodeme.原理和上面的代码是一样的,控件要写在form_resize()中.heightme.scalemode=vbpixelme.width=screen,在窗口改变大小时调整自己的位置.widthme.height=screen.scalemode=ioldmodeend sub这个是窗口最大化的代码private sub form_load()dim ioldmode as integerioldmode=me
先将整个布局用很多Panel布局好(Align), 然后将控件放在Panel中,一般Dock在Panel中,这样窗体大小变了,Panel就会跟着调整其变化,Panel变了,控件就会跟着调整其变化.
在窗体Form_Resize()事件中,用如下代码:控件名.move Left,Top[,Width][,Height]前两个是必选参数&left和top&例如,我想让文本控件,随窗体变化,让其边框为100缇(1像素=1缇*15),代码如下,Text1.Move 100,100,Me.ScaleWidth-200,Me.ScaleHeight-200
即可.其乎让控件随窗体变化而变化,控件的Move属性都能实现.
vb6的相关知识
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁VB编程中如何设置media player控件随窗口大小的改变而改变_百度知道
VB编程中如何设置media player控件随窗口大小的改变而改变
我在窗口中插入了media player控件但是当我改变窗口大小的时候
media player控件的大小保持不变请问能通过什么方式设置一下呀?
你的方法可行吗?
我的控件名是wmpt
窗体名是frmtv那么代码修改成什么呢?
提问者采纳
Top = 0.ScaleHeightEnd WithEnd SubPrivate Sub Form_Resize()With WindowsMediaPlayer1.Width = Me.Height = Me.Left = 0.ScaleWidth.Left = 0.ScaleWidth.Width = Me.Top = 0.Height = MePrivate Sub Form_Activate()With WindowsMediaPlayer1
提问者评价
其他类似问题
vb编程的相关知识
其他5条回答
用位置Left Top Width Herght设置一下试试吧
在这个控件中的属性中设置就可以.但是具体设哪个属性忘了,你找找吧
在窗体的resize事件里面写代码: WindowsMediaPlayer1.height=? WindowsMediaPlayer1.width=? WindowsMediaPlayer1.left=? WindowsMediaPlayer1.top=?
把分给我吧~嘿嘿,谢谢啊
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 vb控件数组 的文章

 

随机推荐