Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Nascondere una colonna in ListView

    Ciao a tutti,
    vorrei sapere se è possibile nascondere la prima colonna di una
    listview.

    Grazie sara
    Grazie
    Sara

    www.tsnavigliana.it

  2. #2
    devi impostare la larghezza dell'intestazione a 0.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  3. #3
    Però poi ti consente di ridimensionarla (ne sai qualcosa LadyBlu ). Se vuoi nasconderla sul serio devi usare il subclassing in modo da intercettare il resize di una colonna e annullarlo.

    nel form initialize
    codice:
    'SubClassing per resize
    hPrecedente = SetWindowLong(ListView.hwnd, GWL_WNDPROC, AddressOf IntercettaMsg)
    in un modulo a parte
    codice:
    Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
    
    Private Const HDN_FIRST = -300
    Public Const GWL_WNDPROC = (-4&)
    Private Const HDN_BEGINTRACKA = (HDN_FIRST - 6)
    
    ' Header / Notification Structures
    Private Type NMHDR
        hwndFrom As Long
        idFrom As Long
        code As Long
    End Type
    Private Type NMHEADER
        hdr As NMHDR
        iItem As Integer
        iButton As Integer
        pitem As Long
    End Type
    Public hPrecedente As Long
    
    Public Function IntercettaMsg(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Dim hNot As NMHEADER
    CopyMemory hNot, ByVal lParam, Len(hNot)
    Select Case hNot.hdr.code 'lParam
    Case HDN_BEGINTRACKA:
       If hNot.iItem = 1 Then 'qui metti le condizioni per gli indici delle colonne nascoste
          Debug.Print hNot.iItem
          IntercettaMsg = hPrecedente
          Exit Function
       End If
    End Select
    IntercettaMsg = CallWindowProc(hPrecedente, hwnd, Msg, wParam, lParam)
    End Function

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.