怎么用通过鼠标改变两部分的大小

jixueer 2003-10-29 02:29:06
一个VB的窗体,主要分为两部分
怎么用通过鼠标改变两部分的大小
...全文
23 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
octopus666666 2003-10-29
  • 打赏
  • 举报
回复
同意我楼上的,又来抢分了。。。。。。
octopus666666 2003-10-29
  • 打赏
  • 举报
回复
上下级目录关系使用TreeView控件,显示文件列表信息可以使用ListView控件,显示文件内容可以使用RichTextBox控件。在各个部分的交界处添加Picturebox控件,用来构成分割条。根据分割条的位置来设置窗体各部分的大小。
射天狼 2003-10-29
  • 打赏
  • 举报
回复
Option Explicit

Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long

'加三个PICTUREBOX控件,将其中一个作为分隔条,改名为:picSplit
Private Sub Form_Load()
Picture1.Left = 60
Picture1.Top = 60
Picture2.Top = 60
picSplit.Left = Picture1.Left + Picture1.Width + 30
picSplit.Width = 60
picSplit.BorderStyle = 0
Picture2.Left = picSplit.Left + picSplit.Width '+ 50
Picture1.Height = 5700
Picture2.Height = 5700
picSplit.Top = 60
picSplit.Height = 5700
picSplit.MousePointer = vbSizeWE
End Sub

Private Sub picSplit_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
On Error Resume Next
If Button = vbLeftButton Then
SetCapture picSplit.hwnd
picSplit.Tag = x
picSplit.BackColor = &HFF8080
End If
End Sub

Private Sub picSplit_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
On Error Resume Next
If Button = vbLeftButton Then
If picSplit.Left >= (100 - x) And picSplit.Left <= (Me.ScaleWidth - 100 - x) Then picSplit.Left = picSplit.Left + x - CInt(picSplit.Tag)
End If
End Sub

Private Sub picSplit_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
On Error Resume Next
If Button = vbLeftButton Then
Picture1.Width = picSplit.Left - 80
Picture2.Left = picSplit.Left + 50
Picture2.Width = Width - picSplit.Left - 250

picSplit.BackColor = &H8000000F
ReleaseCapture
End If
End Sub
pcwak 2003-10-29
  • 打赏
  • 举报
回复
VB中好像有个控件可以实现,忘记了

7,764

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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