TAMANHO COLUNA LISTVIEW

 Tópico anterior Próximo tópico Novo tópico

TAMANHO COLUNA LISTVIEW

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#477149 - 14/10/2017 18:33:26

MILTONSILVA94
CANOAS / RIO GRANDE DO SUL
Cadast. em:Janeiro/2015


Última edição em 14/10/2017 19:39:26 por MILTONSILVA94

Boa tarde,

Como posso bloquear o tamanho da coluna no Listview, para que não permita ao usuário aumentar ou diminuir o tamanho?

Com a rotina abaixo acaba retirando a primeira linha do Listview, e não é isso que quero:

lvwLista.HideColumnHeaders = True

Sugestões?



#477150 - 14/10/2017 20:42:24

JABA
CABO FRIO
Cadast. em:Agosto/2005


Cara, acho que você vai ter que fazer isso via API. Veja se isso aqui te ajuda:

www.vbforums.com/showthread.php?743049-RESOLVED-Prevent-User-From-Resizing-Column-Width-in-ListView

www.vbforums.com/showthread.php?743341-VB6-Lock-ListView-Columns

_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#477151 - 14/10/2017 23:28:05

MILTONSILVA94
CANOAS / RIO GRANDE DO SUL
Cadast. em:Janeiro/2015


Última edição em 15/10/2017 14:11:33 por MILTONSILVA94

 Anexos estao visíveis somente para usuários registrados



Oi JABA, encontrei esta rotina, porém ele apresenta o erro abaixo na variável 'tNMH':

    Private Function WindowProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
        
        Dim tNMH As NMHDR
        Dim tNMHEADER As NMHEADER
        Dim tITEM As HDITEM
        
        Select Case Msg
            Case WM_NOTIFY
                ' COPY THE NOTIFY MESSAGE HEADER TO A HEADER STRUCTURE
                CopyMemory tNMH, ByVal lParam, Len(tNMH)
                Select Case tNMH.code
                    Case HDN_DIVIDERDBLCLICKA
                        'IF THE USER IS TRYING TO DOUBLECLICK A COLUMN HEADER...
                        'EXTRACT INFORMATION ABOUT THE HEADER BEING SIZED
                        CopyMemory tNMHEADER, ByVal lParam, Len(tNMHEADER)
                        'GET THE INFO ABOUT THE HEADER (IE. INDEX#)
                        'DONT ALLOW COLUMNS 1 OR 2 TO BE DOUBLECLICKED
                        If (tNMHEADER.iItem < 3) = True Then
                            WindowProc = 1
                            Exit Function
                        ElseIf (tNMHEADER.iItem = 5) = True Then 'DURATION
                            WindowProc = 1
                            Exit Function
                        End If
                    Case HDN_BEGINTRACK
                        'IF THE USER IS TRYING TO SIZE A COLUMN HEADER...
                        'EXTRACT INFORMATION ABOUT THE HEADER BEING SIZED
                        CopyMemory tNMHEADER, ByVal lParam, Len(tNMHEADER)
                        'GET THE INFO ABOUT THE HEADER (IE. WIDTH)
                        CopyMemory tITEM, ByVal tNMHEADER.lPtrHDItem, Len(tITEM)
                        'DONT ALLOW ZERO OR COLUMNS 1 OR 2 TO BE SIZED
                        If (tNMHEADER.iItem < 3) = True Then 'TYPE & STATUS
                            WindowProc = 1
                            Exit Function
                        ElseIf (tNMHEADER.iItem = 5) = True Then 'DURATION
                            'If (tITEM.mask And HDI_WIDTH) = HDI_WIDTH And tITEM.cxy = 27 Then
                                WindowProc = 1
                                Exit Function
                            'End If
                        End If
                End Select
            Case WM_DESTROY
                'REMOVE SUBCLASSING WHEN LISTVIEW IS DESTROYED (FORM UNLOADED)
                WindowProc = CallWindowProc(mlPrevWndProc, hWnd, Msg, wParam, lParam)
                Call SetWindowLong(hWnd, GWL_WNDPROC, mlPrevWndProc)
                Exit Function
        End Select
        'CALL DEFAULT WINDOW HANDLER
        WindowProc = CallWindowProc(mlPrevWndProc, hWnd, Msg, wParam, lParam)
        
    End Function

Sugestão?




#477153 - 15/10/2017 02:07:58

JABA
CABO FRIO
Cadast. em:Agosto/2005


Esse código foi tirado daqui: vbnet.mvps.org/index.html?code/subclass/lvheadernotifications.htm, tem tudo o que você precisa aí.

_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#477157 - 15/10/2017 14:21:04

MILTONSILVA94
CANOAS / RIO GRANDE DO SUL
Cadast. em:Janeiro/2015


Citação:
:
Esse código foi tirado daqui: vbnet.mvps.org/index.html?code/subclass/lvheadernotifications.htm, tem tudo o que você precisa aí.


Oi JABA, não rolou, como já havia olhado antes neste link e como é vb.net não consegui adaptar para o vb6.



#477158 - 15/10/2017 14:32:52

JABA
CABO FRIO
Cadast. em:Agosto/2005


Citação:
Oi JABA, não rolou, como já havia olhado antes neste link e como é vb.net não consegui adaptar para o vb6.


Está dizendo lá que o código é para vb5 e vb6.


_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#477162 - 15/10/2017 19:58:19

MILTONSILVA94
CANOAS / RIO GRANDE DO SUL
Cadast. em:Janeiro/2015


Citação:
:
Oi JABA, não rolou, como já havia olhado antes neste link e como é vb.net não consegui adaptar para o vb6.

Está dizendo lá que o código é para vb5 e vb6.


Oi JABA, coloquei no módulo e no form conforme estava explicando no artigo e tava apresentando erro na declaração das variáveis.



#477163 - 15/10/2017 20:43:39

JABA
CABO FRIO
Cadast. em:Agosto/2005


Não lembro como faz para a IDE aceitar "STATIC" no vb6, mas você pode substituí-lo por um "DIM" que irá funcionar.

_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#477164 - 15/10/2017 21:11:38

MILTONSILVA94
CANOAS / RIO GRANDE DO SUL
Cadast. em:Janeiro/2015


Citação:
:
Não lembro como faz para a IDE aceitar "STATIC" no vb6, mas você pode substituí-lo por um "DIM" que irá funcionar.


Oi JABA, já tinha tentado com o Dim, Public e não deu.



#477165 - 15/10/2017 21:56:15

JABA
CABO FRIO
Cadast. em:Agosto/2005


Última edição em 15/10/2017 21:57:37 por JABA

 Anexos estao visíveis somente para usuários registrados

Eu montei aqui e funcionou perfeitamente. Tentei dar um Resize na última coluna e ele não deixou. Pra funcionar, tem que habilitar clicando no botão. Faça o teste aí na sua máquina.



_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#477176 - 16/10/2017 12:50:38

MILTONSILVA94
CANOAS / RIO GRANDE DO SUL
Cadast. em:Janeiro/2015


Citação:
:
Eu montei aqui e funcionou perfeitamente. Tentei dar um Resize na última coluna e ele não deixou. Pra funcionar, tem que habilitar clicando no botão. Faça o teste aí na sua máquina.



Ok JABA, vou realizar os testes com base em seu exemplo hoje a noite e retorno com a resposta aqui.



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MILTONSILVA94 em 13/11/2017 20:13:44