⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listbox_frm.frm

📁 VB6程序设计参考手册 -独立源码 VB6程序设计参考手册 -独立源码
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "ListBox"
   ClientHeight    =   3840
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   3840
   ScaleWidth      =   4680
   StartUpPosition =   3  '窗口缺省
   Begin VB.CommandButton ClearCmd 
      Caption         =   "源清除项"
      Height          =   375
      Left            =   3480
      TabIndex        =   10
      Top             =   3360
      Width           =   1095
   End
   Begin VB.CommandButton RemoveICmd 
      Caption         =   "源移除项"
      Height          =   375
      Left            =   1800
      TabIndex        =   9
      Top             =   3360
      Width           =   1095
   End
   Begin VB.CommandButton AddICmd 
      Caption         =   "源添加项"
      Height          =   375
      Left            =   120
      TabIndex        =   8
      Top             =   3360
      Width           =   1095
   End
   Begin VB.CommandButton LAll_Btn 
      Caption         =   "<<"
      Height          =   375
      Left            =   1920
      TabIndex        =   5
      Top             =   2640
      Width           =   855
   End
   Begin VB.CommandButton LOne_Btn 
      Caption         =   "<"
      Height          =   375
      Left            =   1920
      TabIndex        =   4
      Top             =   2040
      Width           =   855
   End
   Begin VB.CommandButton RAll_Btn 
      Caption         =   ">>"
      Height          =   375
      Left            =   1920
      TabIndex        =   3
      Top             =   1440
      Width           =   855
   End
   Begin VB.CommandButton ROne_Btn 
      Caption         =   ">"
      Height          =   375
      Left            =   1920
      TabIndex        =   2
      Top             =   840
      Width           =   855
   End
   Begin VB.ListBox ListR 
      Height          =   2790
      Left            =   2880
      Sorted          =   -1  'True
      Style           =   1  'Checkbox
      TabIndex        =   1
      Top             =   360
      Width           =   1695
   End
   Begin VB.ListBox ListL 
      Height          =   2940
      Left            =   120
      TabIndex        =   0
      Top             =   360
      Width           =   1695
   End
   Begin VB.Label Label2 
      Caption         =   "目标列表"
      Height          =   375
      Left            =   2880
      TabIndex        =   7
      Top             =   0
      Width           =   1575
   End
   Begin VB.Label Label1 
      Caption         =   "源列表"
      Height          =   375
      Left            =   120
      TabIndex        =   6
      Top             =   0
      Width           =   1575
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Form_Load()
    Dim i As Integer

    For i = 1 To 12
        ListL.AddItem "List Item " & i
    Next i
    SetButtonsState ' 设置按钮初始状态
End Sub

'  将左侧列表框中的指定项目移动到右侧
Private Sub ROne_Btn_Click()
    MoveOneItem ListL, ListR
    SetButtonsState
End Sub

'  将左侧列表框中的所有项目移动到右侧
Private Sub RAll_Btn_Click()
    MoveAllItem ListL, ListR
    SetButtonsState
End Sub

'  将右侧列表框中的指定项目移动到左侧
Private Sub LOne_Btn_Click()
    MoveOneItem ListR, ListL
    SetButtonsState
End Sub

'  将右侧列表框中的所有项目移动到左侧
Private Sub LAll_Btn_Click()
    MoveAllItem ListR, ListL
    SetButtonsState
End Sub

' 从列表框控件删除一条记录
Private Sub ListDelItem(ListCtrl As ListBox, ByVal delIndex As Integer)
    
    If ListCtrl.ListCount > 0 And delIndex >= 0 Then
        ListCtrl.RemoveItem delIndex
        
        If ListCtrl.ListCount > 0 Then
            If ListCtrl.ListCount <= delIndex Then
                ListCtrl.ListIndex = delIndex - 1
            Else
                ListCtrl.ListIndex = delIndex
            End If
        End If
    End If
End Sub

' 移动一条
Private Sub MoveOneItem(SrcList As ListBox, DesList As ListBox)
        
    If SrcList.ListCount > 0 Then
        If SrcList.ListIndex < 0 Then
            SrcList.ListIndex = 0
        End If
        
        DesList.AddItem SrcList.List(SrcList.ListIndex)
        DesList.ItemData(DesList.NewIndex) = SrcList.ItemData(SrcList.ListIndex)
        
        ListDelItem SrcList, SrcList.ListIndex
    End If
End Sub

' 全体移动
Private Sub MoveAllItem(SrcList As ListBox, DesList As ListBox)
    Dim i As Integer
    
    i = 0
    Do While i < SrcList.ListCount
        DesList.AddItem SrcList.List(i)
        DesList.ItemData(DesList.NewIndex) = SrcList.ItemData(i)
        i = i + 1
    Loop
    
    SrcList.Clear
End Sub

' 向源列表框中添加新项目
Private Sub AddICmd_Click()
    ListL.AddItem "List Item new"
End Sub

' 从源列表框中移除项目
Private Sub RemoveICmd_Click()
    If ListL.ListIndex <> -1 Then
        ListL.RemoveItem ListL.ListIndex
    End If
End Sub

' 清空源列表框中项目
Private Sub ClearCmd_Click()
    ListL.Clear
End Sub

' 设置按钮控件是否可用
Private Sub SetButtonsState()
    If ListL.ListCount > 0 Then
        ROne_Btn.Enabled = True
        RAll_Btn.Enabled = True
    Else
        ROne_Btn.Enabled = False
        RAll_Btn.Enabled = False
    End If
       
    If ListR.ListCount > 0 Then
        LOne_Btn.Enabled = True
        LAll_Btn.Enabled = True
    Else
        LOne_Btn.Enabled = False
        LAll_Btn.Enabled = False
    End If
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -