注册 登录
编程论坛 VB6论坛

关于动态拉动窗口分割线

lqlfnm 发布于 2012-12-27 10:03, 676 次点击
初学VB,请不吝赐教!
在主窗体中,有三个控件,左为richtextbox1,右为text1,中间image1为作为分割条。
期望在左右拖动image1时,能实时动态地改变richtextbox1和text1的区域。
运行后,有2个问题。一是在按住鼠标拖动image1时,image1在不停地闪烁;二是3个控件都没有到鼠标指针到达的地方。请问各位高手,我这种设计思路合适吗?如合适,问题出在哪里?
Dim mdown As Boolean
Dim p1, p2, p3 As Single
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  p1 = Image1.Left
  p2 = Text1.Left
  p3 = RichTextBox1.Width
  Image1.Visible = True
  mdown = True  
End Sub

Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If mdown = True Then
  Text1.Left = p2 + X
  Image1.Left = p1 + X
  RichTextBox1.Width = p3 + X
End If
End Sub

Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    mdown = False
    Image1.Visible = False
End Sub
2 回复
#2
风吹过b2012-12-27 10:50
你是完全版的 VB6 吗?

新建工程-》向导
   建立资源管理器 样式的 应用程序。
然后你查看那里面的代码吧。
很好的。
#3
yz10252012-12-27 16:26
窗口分割线
之前有回答过一个忘了是谁,用image可以做分割线
现在补充回答有找到VB6内含分割窗口控件
Splitter Bars Control v1.5
C:\Windows\System32\spltrbar.ocx
有分垂直分割线和水平分割线
1