USO DA RODA DO MOUSE

EDERMIR 26/04/2010 09:12:20
#340247
Como reconhecer a [Ô]RODA[Ô] do mouse nos objetos?

Gostaria de utilizar o recurso de ROLAGEM no PICTURE.
ADHEL 26/04/2010 14:52:32
#340277
EDERMIR

Você já viu isso
http://support.microsoft.com/?id=837910
EDERMIR 26/04/2010 15:01:57
#340278
ADHEL.

Já vi e inclusive já enviei a DICA para a equipe do VB.

Esta orientação da Microsoft refere-se ao uso da roda do mouse durante a EDIÇÃO da aplicação. Já instalei e funciona muito bem.

Meu problema é fazer com que a aplicação reconheça que a roda está sendo acionada e, portanto controlar o seu uso.

Eu utilizo o PICTURE e gostaria de rolar conforme giro a roda.
MAFACILITY 26/04/2010 15:38:51
#340285
Olá Edermir, tem esse projeto exemplo que utililiza scroll com a roda em vários componentes não testei com picture. Dê uma olhada.
MAFACILITY 26/04/2010 15:45:05
#340287
tentei aqui não consegui adaptá-los, pois existe proriedades no proj que a picture não tem, tenho um outro projeto que tem scroll em picture, mais a roda não funciona, vou tentar adaptá-lose conseguir eu posto.
IRENKO 26/04/2010 18:03:59
#340299
Eu uso o código abaixo para a roda do mouse em um FlexGrid, nunca testei em um pictirebox.

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 Grid_MouseMove(Button As Integer, Shift As Integer, X As Single, y As Single)
Set mygrid = Grid
End Sub

Public Const GWL_WNDPROC = (-4)
Public lProcJanOrig1 As Long [ô]**************** referente ao formulario n° 1
[ô]Public lProcJanOrig2 As Long [ô]**************** referente ao formulario n° 2
[ô] para um 3° form crie outra linha troque o 2 por 3,4,5

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
[ô]?????????????////////////////////////////////////////////////////////
Private Const WM_MOUSEWHEEL = &H20A
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 mygrid As Object
Public Sub ScrollUp()
If mygrid.TopRow > 1 And mygrid.Rows > 31 Then
mygrid.TopRow = mygrid.TopRow
mygrid.TopRow = mygrid.TopRow - 1
mygrid.TopRow = mygrid.TopRow
End If
End Sub
Public Sub ScrollDown()
If mygrid.TopRow < mygrid.Rows - 1 And mygrid.Rows > 31 Then
mygrid.TopRow = mygrid.TopRow
mygrid.TopRow = mygrid.TopRow + 1
mygrid.TopRow = mygrid.TopRow
End If
End Sub
Public Function lProcJan1(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If (wMsg = WM_MOUSEWHEEL) Then
If (wParam > 0) Then
Call ScrollUp
Else
Call ScrollDown
End If
End If
lProcJan1 = apiExecProcJan(lProcJanOrig1, hwnd, wMsg, wParam, lParam)
End Function
EDERMIR 27/04/2010 15:05:45
#340379
Obrigado a todos.

Continuo aguardando uma [Ô]luz[Ô]
Tópico encerrado , respostas não são mais permitidas