Visual Basic.NET - Altura de la cabecera de un ListView

 
Vista:

Altura de la cabecera de un ListView

Publicado por Consultador (10 intervenciones) el 11/12/2006 11:01:16
Hola. Quisera saber como se puede obtener el alto (height) de la cabecera de un control ListView ya que el control carece de esta propiedad.

Supongo que el tamaño viene dado por el sistema ya que al cambiar el tamaño de la fuente del control no se cambia el tamaño de la cabecera. Pero he comprobado que algunos programas tienen la cabecera de sus ListView mas grande y otros mas pequeña.

Gracias.

He encontrado este codigo para VB6 pero no se como pasarlo a VB2005 ya que me da error en la linea donde pone ERROR en VB2005: "Intento de leer o escribir en la memoria protegida. A menudo, esto indica que hay otra memoria dañada.":

------------------------------------------------------------------------------------------------------------------------------

Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) 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 Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Const LVM_FIRST = &H1000&
Const LVM_GETHEADER = (LVM_FIRST + 31)

Dim hwndHeader As Long
Dim rcHeader As RECT

Private Sub Obtener()
hwndHeader = SendMessage(Me.ListView1.hwnd, LVM_GETHEADER, 0&, ByVal 0&)
If hwndHeader Then
Call GetWindowRect(hwndHeader, rcHeader) 'ERROR
MsgBox rcHeader.Bottom - rcHeader.Top
End If
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder