在Listview的 数据列表里 怎么让一个列的数据显示为* ? 隐藏起来其他是明文的 在就是如何让 listview上的数据的列菜单  比如  帐户  密码 等等菜单之间是固定的距离 不可以让鼠标拖动  有这个属性吗?Dragmode设置之后 是可以不动了 可是连项 也不可选了
  希望有使用过的朋友 指点下我 谢谢

解决方案 »

  1.   

    Dim a()Private Sub Command1_Click()
    Dim i As Integer, k As Integer
    On Error Resume Next
    k = a(0)
    For i = 1 To ListView1.ListItems.Count
    ListView1.ListItems(i).ListSubItems(k).Text = a(i)
    Next
    End SubPrivate Sub Form_Load()
    Dim i As Integer, j As Integer
    ListView1.View = lvwReport
    For i = 1 To 10
    ListView1.ColumnHeaders.Add , , "第" & i & "列"
    ListView1.ListItems.Add , , "第" & i & "列"
    For j = 2 To 10
    ListView1.ListItems(i).ListSubItems.Add , , i & j
    Next
    Next
    End Sub
    Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
    Dim k As Integer, i As Integer
    On Error Resume Next
    k = ColumnHeader.Index - 1
    For i = 1 To ListView1.ListItems.Count
    ReDim Preserve a(i)
    a(i) = ListView1.ListItems(i).ListSubItems(k).Text '记录隐藏前的值
    ListView1.ListItems(i).ListSubItems(k).Text = "*"
    Next
    a(0) = k
    End Sub
      

  2.   

    sourceString = String("*", Len(sourceString))
      

  3.   

     隐藏的代码我测试下那么 怎么才可以解决 让列菜单 不能让鼠标拖动的问题呢? DELPHI7的程序我看到 就实现了
      

  4.   

      Private   Declare   Function   GetWindowLong   Lib   "user32"   Alias   "GetWindowLongA"   (ByVal   hWnd   As   Long,     
        
      ByVal   nIndex   As   Long)   As   Long   
        
      Private   Declare   Function   SetWindowLong   Lib   "user32"   Alias   "SetWindowLongA"   (ByVal   hWnd   As   Long,     
        
      ByVal   nIndex   As   Long,   ByVal   dwNewLong   As   Long)   As   Long   
        
      Private   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   GWL_STYLE   =   (-16)   
      Private   Const   LVM_FIRST   =   &H1000   
      Private   Const   LVM_GETHEADER   =   (LVM_FIRST   +   31)   
      Private   Const   HDS_BUTTONS   =   &H2   
        
      Call   ToggleHeader(ListView1.hWnd)   
        
      Private   Sub   ToggleHeader(lsvhWnd   As   Long)   
        
      Dim   hHeader   As   Long,   lStyle   As   Long   
        
      hHeader   =   SendMessage(lsvhWnd,   LVM_GETHEADER,   0,   ByVal   0&)   
        
      lStyle   =   GetWindowLong(hHeader,   GWL_STYLE)   
        
      SetWindowLong   hHeader,   GWL_STYLE,   lStyle   Xor   HDS_BUTTONS