现在VBA中编程,有一个窗体中的ListBox控件,里面有一些程序添加的内容。现在要求,对里面的部分内容通过某中方式 让他醒目的标识出来,我刚开始考虑通过将某个Item变颜色来实现,可是一直不知道如何实现?请问各位老师,如果才能达到我程序设计的要求,将listbox控件内容变颜色或者底色变化,或者其他方式实现,只要能让其中的几条内容和其他内容显示不一样就行!

解决方案 »

  1.   

    用listview替换吧list的功能太简单拉
    listview的view设为report
    col1的宽设为listview的
      

  2.   

    listview也不能達到這個效果
    用mshflexgrid,設置1列,每個格子都可以設置背景的。
      

  3.   

    用别的控件替换,LISTBOX不能实现的
      

  4.   

    ListBox不行的,即使做还不如换一个控件
      

  5.   

    listbox  要用许多的 底层api  来做,所以不值得。
      

  6.   

    换成listview可以修改背景色的
    将listview的view设为report
    界面上放一个PictureBox命名为picBg
    Private Sub Form_Load()
    picBg.BackColor = Lv.BackColor
    picBg.ScaleMode = vbTwips
    picBg.BorderStyle = vbBSNone
    picBg.AutoRedraw = True
    End Sub
    '修改listview背景色的函数
    Private Sub MakeLVColor()
    Dim I As Integer
        picBg.Width = Lv.Width
        picBg.Height = Lv.ListItems(1).Height * (Lv.ListItems.Count)
        picBg.ScaleHeight = Lv.ListItems.Count
        picBg.ScaleWidth = 1
        picBg.DrawWidth = 1
        picBg.Cls
        For I = 1 To Lv.ListItems.Count
          Select Case I Mod 2
             Case 0
                picBg.Line (0, I - 1)-(1, I), &H80000005, BF
             Case 1
                picBg.Line (0, I - 1)-(1, I), &HE0E0E0, BF
          End Select    Next
        Lv.Picture = picBg.Image
    End SubPrivate Sub Command1_Click()
      MakeLVColor
    End Sub
      

  7.   

    LISTBOX可以加背景图,但要它动态更改某几条的背景就难了,涉及用户自画控件,常用事件都需要你自己去响应,效果不见得好,复杂度却很高。
      

  8.   

    http://vbaccelerator.com/codelib/odcbolst/article.htm
      

  9.   

    到最后大家也没有提出一个比较好的意见,我最后的解决方案是,仍然用的 listbox,不过,把显示的文字后面或者前面加了一些特殊的符号,比如五角星号等,这样同样有了醒目区别的作用