一个简单的可调整分割条效果示例(VB6.0)

在程序里需要拖动一个分割条来进行界面布局调整时,用得上这代码.

以前也写过,不过没记录下来.

为了以后要用时不至于临时去写,就记录一下:(我懒呀....)

[codes=vb]Option Explicit

Private Const AsyncMove As Boolean = False '实时移动控制

Dim mY As Long, AllHei As Long

Private Sub Form_Load()
AllHei = Picture2.Top + Picture2.Height '把大小极限先记录一下
End Sub

Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
mY = Y '鼠标按下时的鼠标坐标
End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button And vbLeftButton Then
Dim tmpTop As Long

With Label1
tmpTop = .Top + Y - mY '计算应该移动到的坐标

If tmpTop <= Picture1.Top Then tmpTop = Picture1.Top '数值合法化
If tmpTop >= AllHei - .Height Then tmpTop = AllHei - .Height

.Move .Left, tmpTop '先移动"分割条"

If AsyncMove = False Then
Picture1.Height = .Top - Picture1.Top '再移动各控件
Picture2.Top = .Top + .Height
Picture2.Height = AllHei - Picture2.Top
End If
End With
End If
End Sub

Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If AsyncMove = True Then
With Label1
Picture1.Height = .Top - Picture1.Top '再移动各控件
Picture2.Top = .Top + .Height
Picture2.Height = AllHei - Picture2.Top
End With
End If
End Sub[/codes]

工程打包在此下载:

下载文件 点击下载此文件


评论: 2 | 引用: 0 | 查看次数: 1638
三断笛
三断笛[2009-10-08 08:14 PM | ]
我没用LABEL做分割条,而是在窗口上画几个布局的PictureBOX,中间留点缝细,就用那点缝细了
千里流云
千里流云[2008-04-10 09:15 PM | ]
类似嵌入式网页的东东吧