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

📄 form1.frm

📁 这里有很多很实用的VB编程案例,方便大家学习VB.
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "交换列表框中的列表项目"
   ClientHeight    =   3195
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   3195
   ScaleWidth      =   4680
   StartUpPosition =   3  '窗口缺省
   Begin VB.ListBox List1 
      Height          =   2220
      Left            =   840
      TabIndex        =   0
      Top             =   360
      Width           =   2895
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Option Explicit
Dim rect As rect
Dim hldc As Long, hPen As Long, hBrush As Long
Dim FirstIndex As Long, listline As Long, liststr As String

Private Sub Form_Load()
    Dim i As Integer
    Dim k As String
    hPen = CreatePen(0, 1, RGB(0, 0, 0)) '设定黑色线。
    hBrush = GetStockObject(NULL_BRUSH)  '设定中空显示。
    hldc = GetDC(List1.hwnd)
    Call SelectObject(hldc, hPen)
    Call SelectObject(hldc, hBrush)
    List1.Clear
    For i = 1 To 12
        k = Chr(i + 64) + CStr(i)
        List1.AddItem k
    Next i
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Dim i As Long
    i = DeleteObject(hPen)
    i = ReleaseDC(List1.hwnd, hldc)
End Sub

Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    '取得List1.ListIndex所在Item的位置。
    Call SendMessage(List1.hwnd, LB_GETITEMRECT, List1.ListIndex, rect)
    FirstIndex = List1.TopIndex '目前ListBox最上面那个Item的注标。
    listline = List1.ListIndex
    liststr = List1.List(listline)
    List1.MousePointer = 15
End Sub

Private Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
        If FirstIndex = List1.TopIndex Then
            Call Rectangle(hldc, rect.Left, rect.Top, _
            rect.Right, rect.Bottom)
        Else
            Call SendMessage(List1.hwnd, LB_GETITEMRECT, listline, rect)
            FirstIndex = List1.TopIndex
        End If
    End If
End Sub

Private Sub List1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    List1.Refresh '清除。
    If List1.ListIndex <> listline And List1.ListIndex <> -1 Then
        '新增项目于新的位置,并将原本位置的项目删除。
        List1.AddItem liststr, List1.ListIndex
        If List1.ListIndex > listline Then
            List1.RemoveItem listline
        Else
            List1.RemoveItem listline + 1
        End If
        List1.ListIndex = List1.ListIndex - 1
    End If
    List1.MousePointer = 0
End Sub

⌨️ 快捷键说明

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