RT,在List模式下时,似乎无法在界面上通过拖动来调整项的显示宽度。这使我无法看到项的全部内容。
请问如何通过代码来设置项的显示宽度?

解决方案 »

  1.   


    Option ExplicitPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Const LVM_FIRST = &H1000 
    Private Const LVM_GETCOLUMNWIDTH = LVM_FIRST + 29
    Private Const LVM_SETCOLUMNWIDTH = LVM_FIRST + 30Private Sub btnTmp_Click()
                Dim LVWidth As Long
                
                LVWidth = SendMessage(lvw.hwnd, LVM_GETCOLUMNWIDTH, 0, 0)
                Debug.Print LVWidth
                '111 宽度
                SendMessage lvw.hwnd, LVM_SETCOLUMNWIDTH, 0, ByVal 111
                
                LVWidth = SendMessage(lvw.hwnd, LVM_GETCOLUMNWIDTH, 0, 0)
                Debug.Print LVWidth
    End SubPrivate Sub Form_Load()
                Call Init_Lvw
    End SubPrivate Sub Init_Lvw()
                With Me.lvw
                    .View = lvwList
                    .LabelEdit = lvwManual
                End With
                With Me.lvw.ListItems
                    .Add 1, , "lala..lala..lala..", , 2
                End With
    End Sub
      

  2.   

    回LS大侠:
    请问只能通过API了么?我用了您的方法,可是没效果,我无法确定是函数调用有问题还是此函数不能用来设置项显示宽度.因为debug的输出也很奇怪.代码如下:Debug.Print (SendMessage(lstView.hwnd, LVM_GETCOLUMNWIDTH, 0, 0))
    SendMessage lstView.hwnd, LVM_SETCOLUMNWIDTH, 0, ByVal 100
    Debug.Print (SendMessage(lstView.hwnd, LVM_GETCOLUMNWIDTH, 0, 0))Debug输出(多次执行):
     24 
     50 
     24 
     24 
     24 
     50  24 
     50 
     24 
     30  50 -6034  24  24 
     24  100 
      

  3.   

    你的列表是不是没有图标? 没有图标的话,上面的代码不可用(谢谢老张SYSSZ).
      

  4.   

    http://topic.csdn.net/u/20090511/14/1da8db29-0007-4a69-b017-4529102a8585.html你可以参看这个链接
      

  5.   

    呵呵,我不知道怎么设置图标...是不是要把图片先导到工程里,然后定义一个引用,然后再添加到CollumnHeaderIcons中?
      

  6.   

    窗体上放一个Imagelist,将图片导入Imagelist,用Imagelist的索引就能图标添加到ListView控件
      

  7.   

    我这么做滴:
    lstView.ColumnHeaderIcons = Me.ImageList1现在debug输出已经正常了,可是项的宽度依然没变呢...
      

  8.   

    感谢各位的帮助,仔细看了张大侠的示例,然而在设置Icon后,项的宽度似乎没有依然没有变化。张大侠给的代码确实能够获得预期效果,我无法确定我的程序哪有问题。因此暂时放弃,采用替代方案,使用Report视图。