Bilder och textfärg i combo- och listboxar
XL-Dennis får en del frågor om bilder i combo- och listboxar varför detta tips har tillkommit.
De två Active-X kontroller som medföljer MS Office klarar varken textfärg eller bilder.
Har vi tillgång till MS Visual Basic eller till MS Office Developer-versionen så medföljer två andra Active-X kontroller, "MS ImageCombo control" och "MS ImageList control, vilka tillsammans möjliggör bilder i comboboxar men inte i listboxar.
Här presenteras kontrollerna XComboBox och XListBox mer utförligt och som får ses som goda alternativ till ovanstående. Dessa två Active-X kontroller ingår i paketet Visual Basic 2004 Super Library från SamLogic.
Följande bild visar hur dessa två kontroller kan skapa professionella lösningar i formulär:
Så här ser koden ut i formulärets modul:
Option Explicit
Private Sub cmbCancel_Click()
Unload Me
End Sub
Private Sub cmbOK_Click()
With XCombo1
If Not .ListIndex = -1 Then MsgBox .ListIndex & " " & .Text
End With
With XListBox1
If Not .ListIndex = -1 Then MsgBox .ListIndex & " " & .Text
End With
Unload Me
End Sub
Private Sub UserForm_Initialize()
Const RGB_DKBLUE = &H7F0000
Const RGB_RED = &HFF&
Const RGB_GRAY = &H7F7F7F
Const RGB_LTGRAY = &HC0C0C0
Dim sSokVag As String
sSokVag = "e:\OfficeIkoner"
With Me.XCombo1
.Sorted = False
.AddItem " XL-Dennis"
.AddItem " MS Excel"
.AddItem " XComboBox med bilder"
.ItemForeColor(0) = RGB_GRAY
.ItemForeColor(1) = RGB_RED
.ItemForeColor(2) = RGB_DKBLUE
Set .ItemPicture(0) = LoadPicture(sSokVag & "\StarOffice.ico")
Set .ItemPicture(1) = LoadPicture(sSokVag & "\Help.ico")
Set .ItemPicture(2) = LoadPicture(sSokVag & "\aca.ico")
.ListIndex = -1
End With
With Me.XListBox1
.Sorted = False
.AddItem " XL-Dennis"
.AddItem " MS Excel"
.AddItem " XListBox med bilder"
.ItemForeColor(0) = RGB_GRAY
.ItemForeColor(1) = RGB_LTGRAY
.ItemForeColor(2) = RGB_DKBLUE
Set .ItemPicture(0) = LoadPicture(sSokVag & "\StarOffice.ico")
Set .ItemPicture(1) = LoadPicture(sSokVag & "\Help.ico")
Set .ItemPicture(2) = LoadPicture(sSokVag & "\aca.ico")
.ListIndex = -1
End With
End Sub
Visual Basic Super Library 2004, XComboBox och XListBox är varumärken som tillhör SamLogic.