一个类实现窗口分隔条功能.
2005-01-06 21:19
387 查看
以下为一个类代码
Option Explicit
Private myForm As Form '应用窗体
Private picP As Object '做为分隔条的控件
Private objBox1 As Object '分隔条左边控件
Private objBox2 As Object '分隔条右边控件
Private Sub Class_Terminate()
Set myForm = Nothing
Set picP = Nothing
Set objBox1 = Nothing
Set objBox2 = Nothing
End Sub
Public Sub myInit(inForm As Form, pic As Object, obj1 As Object, obj2 As Object)
On Error GoTo err1
'初始化各控件位置
Set myForm = inForm
Set picP = pic
Set objBox1 = obj1
Set objBox2 = obj2
picP.MousePointer = 9
picP.Appearance = 0
picP.BackColor = &H8000000F
picP.BorderStyle = 0
picP.Width = 50
objBox1.Top = 0
objBox1.Left = 0
objBox1.Width = 3000
objBox1.Height = myForm.Height
picP.Top = 0
picP.Left = objBox1.Width
picP.Height = myForm.Height: objBox2.Top = 0
objBox2.Left = objBox1.Width + picP.Width
objBox2.Height = myForm.Height
objBox2.Width = myForm.Width - objBox1.Width - picP.Width
picP.ZOrder (0)
Exit Sub
err1:
End Sub
Public Sub myMouseMove(MouseButton As Integer, X As Single)
On Error GoTo err1
'在picP控件的mouseMove事件中调用
If MouseButton = 1 Then
picP.Move picP.Left + X
objBox1.Width = picP.Left
objBox2.Left = picP.Left + 50
objBox2.Width = myForm.Width - picP.Left
picP.ZOrder (0)
End If
Exit Sub
err1:
End Sub
Public Sub myMouseUp(MouseButton As Integer)
On Error GoTo err1
'在picP控件的mouseUp事件中调用
If MouseButton = 1 Then
objBox1.Left = 0
If picP.Left < 1000 Then
objBox1.Width = 1000
picP.Left = 1000
Else
If picP.Left > myForm.Width Then
objBox1.Width = myForm.Width - 1000
picP.Left = objBox1.Width
Else
objBox1.Width = picP.Left
End If
End If
objBox2.Left = objBox1.Width + picP.Width
objBox2.Width = myForm.Width - objBox1.Width - picP.Width
End If
Exit Sub
err1:
End Sub
'以下是窗口代码,添加一个Picturebox控件和两个textbox控件.
Option Explicit
Dim a As Class1
Private Sub Form_Load()
Set a = New Class1
a.myInit Me, Picture1, Text1, Text2
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
a.myMouseMove Button, X
End Sub
Option Explicit
Private myForm As Form '应用窗体
Private picP As Object '做为分隔条的控件
Private objBox1 As Object '分隔条左边控件
Private objBox2 As Object '分隔条右边控件
Private Sub Class_Terminate()
Set myForm = Nothing
Set picP = Nothing
Set objBox1 = Nothing
Set objBox2 = Nothing
End Sub
Public Sub myInit(inForm As Form, pic As Object, obj1 As Object, obj2 As Object)
On Error GoTo err1
'初始化各控件位置
Set myForm = inForm
Set picP = pic
Set objBox1 = obj1
Set objBox2 = obj2
picP.MousePointer = 9
picP.Appearance = 0
picP.BackColor = &H8000000F
picP.BorderStyle = 0
picP.Width = 50
objBox1.Top = 0
objBox1.Left = 0
objBox1.Width = 3000
objBox1.Height = myForm.Height
picP.Top = 0
picP.Left = objBox1.Width
picP.Height = myForm.Height: objBox2.Top = 0
objBox2.Left = objBox1.Width + picP.Width
objBox2.Height = myForm.Height
objBox2.Width = myForm.Width - objBox1.Width - picP.Width
picP.ZOrder (0)
Exit Sub
err1:
End Sub
Public Sub myMouseMove(MouseButton As Integer, X As Single)
On Error GoTo err1
'在picP控件的mouseMove事件中调用
If MouseButton = 1 Then
picP.Move picP.Left + X
objBox1.Width = picP.Left
objBox2.Left = picP.Left + 50
objBox2.Width = myForm.Width - picP.Left
picP.ZOrder (0)
End If
Exit Sub
err1:
End Sub
Public Sub myMouseUp(MouseButton As Integer)
On Error GoTo err1
'在picP控件的mouseUp事件中调用
If MouseButton = 1 Then
objBox1.Left = 0
If picP.Left < 1000 Then
objBox1.Width = 1000
picP.Left = 1000
Else
If picP.Left > myForm.Width Then
objBox1.Width = myForm.Width - 1000
picP.Left = objBox1.Width
Else
objBox1.Width = picP.Left
End If
End If
objBox2.Left = objBox1.Width + picP.Width
objBox2.Width = myForm.Width - objBox1.Width - picP.Width
End If
Exit Sub
err1:
End Sub
'以下是窗口代码,添加一个Picturebox控件和两个textbox控件.
Option Explicit
Dim a As Class1
Private Sub Form_Load()
Set a = New Class1
a.myInit Me, Picture1, Text1, Text2
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
a.myMouseMove Button, X
End Sub
相关文章推荐
- 一个类实现窗口分隔条功能.
- 在页面中,我们经常看到,一个button按钮,如果属标点击,就会触发一个窗口的显示,如果二次点击并可以隐藏,那么如何通过JAVA配合html来实现这一功能呢?
- react点击按钮跳转到一个新的窗口的功能实现
- C# 在主窗口中打开一个带有计算器功能的子窗口,有三种实现方法
- 第四篇 ANDROID窗口管理服务实现机制 窗口管理是ANDROID框架一个重要部分,主要包括如下功能: (1)Z-ordered的维护 (2)窗口的创建、销
- 第一步 写一个窗口并且实现关闭的功能
- Unity5实现在一个主窗口有多摄像机窗口显示功能
- 自己实现一个验证码功能
- 在APP内实现顶层窗口,悬浮窗功能。
- 一个简单功能的SQL 实现
- Java多线程-一个简单的线程,实现挂起和恢复的功能
- 【Qt】自定义标题栏并实现最小化/最大化/关闭窗口功能
- 利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。 给定一个stri
- 采用 spark textArea linkElement spanElement 实现聊天窗口的功能
- 通过IO流讲一个文件里面的内容读到另外一个文件里面(文件复制功能的实现)
- 一个适用于小数range功能的python实现
- jmeter 实现登录一次,多次操作登录后的某一个功能
- 今天实现了一个功能就是,树结点的拖动
- 做一个JS实现带渐变可停顿功能的图片轮播
- ffmpeg 实现转码一个普通视频文件为视频mpeg4,音频mp3的功能的程序(摘)