USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic    (Grid/FlexGrid)

Título da Dica:  Autosize em um ListView
Postada em 13/1/2005 por kerplunk         
Para que um listview se auto ajuste em tamanho de acordo com o conteúdo, tem duas maneiras, a primeira é pressionar as teclas CTRL +
Porém isto requer que o usuário faça alguma coisa o que é desaconselhável, daí o auto ajuste automático se faz necessário. Pra isso poderíamos muito bem criar um loop que ache a maior célula, mas isto tornaria o processo lento se o listview fosse muito grande. Então o uso da API é o mais aconselhável. A API é assim:

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long

Public Const LVM_Min As Long = &H1000
Public Const LVM_SETCOLUMNWIDTH As Long = (LVM_Min + 30)
Public Const LVSCW_AUTOSIZE As Long = -1
Public Const LVSCW_AUTOSIZE_USEHEADER As Long = -2

E para fazê-la funcionar, ou seja, auto ajustar o listview, o comando fica mais ou menos assim(digo mais ou menos porque você pode adaptá-lo às suas necessidades):

SendMessage lvwItens.hWnd, LVM_SETCOLUMNWIDTH, 1, LVSCW_AUTOSIZE_USEHEADER  
e era isso! Até a próxima!
 


CyberWEB Network Ltda.    © Copyright 2000-2018   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página