vbAccelerator - Contents of code file: frmDeviceImage.frm

VERSION 5.00
Begin VB.Form frmDeviceImage 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "Select Icon Device Images"
   ClientHeight    =   2430
   ClientLeft      =   3150
   ClientTop       =   2880
   ClientWidth     =   5085
   BeginProperty Font 
      Name            =   "Tahoma"
      Size            =   8.25
      Charset         =   0
      Weight          =   400
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   Icon            =   "frmDeviceImage.frx":0000
   LinkTopic       =   "Form2"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   2430
   ScaleWidth      =   5085
   ShowInTaskbar   =   0   'False
   Begin VB.CommandButton cmdOK 
      Caption         =   "OK"
      Default         =   -1  'True
      Height          =   375
      Left            =   2760
      TabIndex        =   5
      Top             =   1980
      Width           =   1095
   End
   Begin VB.CommandButton cmdCancel 
      Cancel          =   -1  'True
      Caption         =   "Cancel"
      Height          =   375
      Left            =   3900
      TabIndex        =   4
      Top             =   1980
      Width           =   1155
   End
   Begin VB.CommandButton cmdAdd 
      Caption         =   "4"
      BeginProperty Font 
         Name            =   "Marlett"
         Size            =   9.75
         Charset         =   2
         Weight          =   800
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   2400
      TabIndex        =   3
      Top             =   600
      Width           =   255
   End
   Begin VB.CommandButton cmdRemove 
      Caption         =   "3"
      BeginProperty Font 
         Name            =   "Marlett"
         Size            =   9.75
         Charset         =   2
         Weight          =   800
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   315
      Left            =   2400
      TabIndex        =   2
      Top             =   960
      Width           =   255
   End
   Begin VB.ListBox lstSelected 
      Height          =   1815
      Left            =   2760
      MultiSelect     =   1  'Simple
      Sorted          =   -1  'True
      TabIndex        =   1
      Top             =   60
      Width           =   2295
   End
   Begin VB.ListBox lstAvailable 
      Height          =   1815
      Left            =   0
      MultiSelect     =   1  'Simple
      Sorted          =   -1  'True
      TabIndex        =   0
      Top             =   60
      Width           =   2295
   End
End
Attribute VB_Name = "frmDeviceImage"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private m_bCancel As Boolean
Private m_iSelected(1 To 6) As Long

Public Property Get Cancelled() As Boolean
   Cancelled = m_bCancel
End Property

Public Property Let ItemSelected( _
      ByVal nIndex As Long, _
      ByVal bState As Boolean _
   )
   m_iSelected(nIndex) = bState
End Property
Public Property Get ItemSelected( _
      ByVal nIndex As Long _
   ) As Boolean
   ItemSelected = m_iSelected(nIndex)
End Property

Private Sub cmdAdd_Click()
Dim i As Long
   For i = lstAvailable.ListCount - 1 To 0 Step -1
      If lstAvailable.Selected(i) Then
         lstSelected.AddItem lstAvailable.List(i)
         lstSelected.ItemData(lstSelected.NewIndex) = lstAvailable.ItemData(i)
         lstSelected.Selected(lstSelected.NewIndex) = True
         lstAvailable.RemoveItem i
      End If
   Next i
End Sub

Private Sub cmdCancel_Click()
   m_bCancel = True
   Unload Me
End Sub

Private Sub cmdOK_Click()
Dim i As Long
   m_bCancel = False
   For i = 1 To 6
      m_iSelected(i) = False
   Next i
   For i = 0 To lstSelected.ListCount - 1
      m_iSelected(lstSelected.ItemData(i)) = True
   Next i
   Unload Me
End Sub

Private Sub cmdRemove_Click()
Dim i As Long
   For i = lstSelected.ListCount - 1 To 0 Step -1
      If lstSelected.Selected(i) Then
         lstAvailable.AddItem lstSelected.List(i)
         lstAvailable.ItemData(lstAvailable.NewIndex) = lstSelected.ItemData(i)
         lstAvailable.Selected(lstAvailable.NewIndex) = True
         lstSelected.RemoveItem i
      End If
   Next i
End Sub

Private Sub Form_Load()
   pAdd 1, "16x16, 16 colours"
   pAdd 2, "16x16, 256 colours"
   pAdd 3, "32x32, 16 colours"
   pAdd 4, "32x32, 256 colours"
   pAdd 5, "48x48, 16 colours"
   pAdd 6, "48x48, 256 colours"
End Sub

Private Sub pAdd(ByVal nIndex As Long, ByVal sCaption As String)
   If m_iSelected(nIndex) Then
      lstSelected.AddItem sCaption
      lstSelected.ItemData(lstSelected.NewIndex) = nIndex
   Else
      lstAvailable.AddItem sCaption
      lstAvailable.ItemData(lstAvailable.NewIndex) = nIndex
   End If
End Sub

Private Sub lstAvailable_DblClick()
   cmdAdd_Click
End Sub

Private Sub lstSelected_DblClick()
   cmdRemove_Click
End Sub