HABILITAR O SCROLL DO MOUSE NO VB 6

VBDESENVOLVEDOR 13/07/2010 11:42:23
#347192
ola bom dia alguem sabe proque o scroll nao funciona no Msflexgrid

alguem sabe como posso resolver ja tentei habilitar tudo no mslfexgrid

ALVAROVB2009 13/07/2010 11:50:39
#347194
Acho que isso pode te ajudar
http://support.microsoft.com/kb/837910
DANIKULL 13/07/2010 13:51:20
#347209
Amigo, boa tarde.

Testa este código aqui....

Em um módulo

Option Explicit

Private Const WM_MOUSEWHEEL = &H20A [ô]-- Indica que a roda do mouse foi girada ...
Public Const GWL_WNDPROC = (-4) [ô]-- Indica o índice de processamento...

Public lProcJanOrig1 As Long [ô]-- Armazena o valor original de [lProcJan] (1) ...
Public lProcJanOrig2 As Long [ô]-- Armazena o valor original de [lProcJan] (2) ...

Private Declare Function apiExecProcJan 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 Function apiGrvIdentJan Lib [Ô]user32[Ô] Alias [Ô]SetWindowLongA[Ô] (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function apiLerIdentJan Lib [Ô]user32[Ô] Alias [Ô]GetWindowLongA[Ô] (ByVal hWnd As Long, ByVal nIndex As Long) As Long

Public Function lProcJan1(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
[ô]-- Verifica se a roda do mouse foi girada ...
If (wMsg = WM_MOUSEWHEEL) Then
If (wParam > 0) Then
[ô]-- Roda do mouse girada para cima ...
[ô]frmRelat.vsbMoveVertical é o nome de seu form e o controle scroll
With frmgridcp.grid_cp
If ((.TopRow - 1) < 1) Then
.TopRow = 1
Else
.TopRow = (.TopRow - 1)
End If
End With
Else
[ô]-- Roda do mouse girada para baixo ...
[ô]frmRelat.vsbMoveVertical é o nome de seu form e o controle scroll
With frmgridcp.grid_cp
If ((.TopRow + 1) > .Rows) Then
.TopRow = .Rows
Else
.TopRow = (.TopRow + 1)
End If
End With
End If
End If
[ô]-- Define o identificador do processo ...
lProcJan1 = apiExecProcJan(lProcJanOrig1, hWnd, wMsg, wParam, lParam)
End Function


No form

Private Sub Form_Load()
Dim lRet1 As Long
lProcJanOrig1 = apiLerIdentJan(Me.hWnd, GWL_WNDPROC)
lRet1 = apiGrvIdentJan(Me.hWnd, GWL_WNDPROC, AddressOf lProcJan1)
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim lRet1 As Long
lRet1 = apiGrvIdentJan(Me.hWnd, GWL_WNDPROC, lProcJanOrig1)
End Sub


Qualquer coisa poste ai novamente, blz??
ANDPAG 13/07/2010 14:59:42
#347224
entao, testei o codigo acima e nao deu certo aqui pra mim...
Tópico encerrado , respostas não são mais permitidas