Curso Completo Base de datos

Activar rueda del Datareport en vb6.0

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar todos
nuevos mensajes

  • Activar rueda del Datareport en vb6.0

    Alguien tiene un codigo para poder mover los scroll de un Datareport o al menos es posible hacerlo o lo han visto en algun ejecutable?
    Solo he encontrado ejemplo para activar los scroll de datagrid's mas no de Datareport's, espero alguien pueda responder.

    saludos

  • #2
    Re: Activar rueda del Datareport en vb6.0

    Yo no creo que el DataReport disponga de Scroll ni vertical ni horizontal... Ten en cuenta que el DR es un control para preparar la IMPRESIÓN del informe, a pesar de que disponga de la posibilidad de vista previa; pero ésta puedes moverla directamente con el mouse, como ocurre con la vista de un PDF.
    José María Movilla Cuadrado
    ______________________
    Normas del foro
    www.foro.vb-mundo.com
    www.vb-mundo.com

    Comentario


    • #3
      Re: Activar rueda del Datareport en vb6.0

      No me queda claro, yo me referia a los scroll para visualizar todo el reporte, aunque el Datareport esté maximizado hay que utilizar las flechitas de hacia arriba y abajo para ver la parte inferior del reporte y hacerlo con la rueda del mouse seria mas practico y rapido en lugar de clickear las flechas.

      Se puede hacer eso?, dejo una imagen, solo necesito activar el scroll de arriba y hacia abajo.
      Pueden ver si ustedes pueden correr con la rueda del mouse por que yo no puedo, quizas me falta instalar algo.

      saludos y gracias por responder.

      Comentario


      • #4
        Re: Activar rueda del Datareport en vb6.0

        Creo que eso no depende de Visual, sino de la configuración del driver de tu mouse... Mientras estás diseñando, ¿te funciona la rueda del mouse?
        José María Movilla Cuadrado
        ______________________
        Normas del foro
        www.foro.vb-mundo.com
        www.vb-mundo.com

        Comentario


        • #5
          Re: Activar rueda del Datareport en vb6.0

          Al instalar normalmente no funciona la rueda pero instalando la dll VB6IDEMouseWheelAddin.dll puedo mover la rueda pero solo la rueda donde se coloca el codigo, la rueda de los formularios en tiempo de diseño no funciona.

          Me parece que tienes razon y se debe a la configuracion del driver del mouse, una pregunta a ti te funciona la rueda del mouse en los Datareport's, si es afirmativo entonces debe ser algo con la configuraicion.

          Comentario


          • #6
            Re: Activar rueda del Datareport en vb6.0

            Espero poderte responder cuando haga una prueba con un DR... Porque hace muchos que yo utilizo el VSReport, de ComponentOne.
            José María Movilla Cuadrado
            ______________________
            Normas del foro
            www.foro.vb-mundo.com
            www.vb-mundo.com

            Comentario


            • #7
              Re: Activar rueda del Datareport en vb6.0

              He estado probando, y no sólo no funciona la rueda para el Scroll en el DataReport, sino que no he encontrado nada en la Web que indique cómo solucionarlo; hay solución para un montón de controles de VB, pero para el DataReport, nada de nada...
              José María Movilla Cuadrado
              ______________________
              Normas del foro
              www.foro.vb-mundo.com
              www.vb-mundo.com

              Comentario


              • #8
                Re: Activar rueda del Datareport en vb6.0

                Yo tampoco he conseguido nada de nada sobre este tema, parece que no se puede, que diferencia hay entre el VSReport contra el datareport en cuanto a manejo de recordset, por otro lado este control es de pago.

                Si alguien tiene la solucion espero alguna vez pueda dar la solucion, saludos

                Comentario


                • #9
                  Re: Activar rueda del Datareport en vb6.0

                  No tendría tiempo ni espacio para describirte las diferencias entre los controles de VB y los de C1... "Como del agua al vino", que diría un castizo. Si no fuera porque son de pago, a buen seguro que no habría nadie que trabajase sin ellos.
                  José María Movilla Cuadrado
                  ______________________
                  Normas del foro
                  www.foro.vb-mundo.com
                  www.vb-mundo.com

                  Comentario


                  • #10
                    Re: Activar rueda del Datareport en vb6.0

                    Creo que ya te respondieron esto en otro foro, sin embargo si no lo has visto te coloco el codigo acá..

                    En un módulo bas.
                    Código:
                    Option Explicit
                    
                    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
                    Private Declare Function CallWindowProc 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
                    Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
                    Private Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
                    Private Declare Function GetProp Lib "user32.dll" Alias "GetPropA" (ByVal hwnd As Long, ByVal lpString As String) As Long
                    Private Declare Function SetProp Lib "user32.dll" Alias "SetPropA" (ByVal hwnd As Long, ByVal lpString As String, ByVal hData As Long) As Long
                    
                    Public Const GWL_WNDPROC = (-4)
                    Private Const WM_MOUSEWHEEL As Long = &H20A
                    Private Const WM_KEYDOWN As Long = &H100
                    Private Const WM_KEYUP As Long = &H101
                    
                    
                    
                    Public Sub SubClassReport(hwnd As Long)
                        Dim PrevProc As Long
                        PrevProc = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WindowProc)
                        SetProp hwnd, "PrevProc", PrevProc
                    End Sub
                    
                    Public Sub UnSubClassReport(hwnd As Long)
                        SetWindowLong hwnd, GWL_WNDPROC, GetProp(hwnd, "PrevProc")
                    End Sub
                    
                    Private Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
                        
                        Dim Handle As Long
                        Dim hDisplayFrame As Long
                        
                        WindowProc = CallWindowProc(GetProp(hwnd, "PrevProc"), hwnd, uMsg, wParam, lParam)
                    
                        If uMsg = WM_MOUSEWHEEL Then
                        
                            
                            Handle = FindWindowEx(hwnd, ByVal 0&, "MSDataReportRuntimeWndClass6.0", vbNullString)
                            hDisplayFrame = FindWindowEx(Handle, ByVal 0&, "REPT_DISPLAYFRAME", vbNullString)
                            If hDisplayFrame = 0 Then Exit Function
                                
                            If wParam < 0 Then
                                Call SendMessage(hDisplayFrame, WM_KEYDOWN, ByVal vbKeyDown, ByVal CLng(0))
                                Call SendMessage(hDisplayFrame, WM_KEYUP, ByVal vbKeyDown, ByVal CLng(0))
                            Else
                                Call SendMessage(hDisplayFrame, WM_KEYDOWN, ByVal vbKeyUp, ByVal CLng(0))
                                Call SendMessage(hDisplayFrame, WM_KEYUP, ByVal vbKeyUp, ByVal CLng(0))
                            End If
                            
                        End If
                        
                    End Function
                    y dentro de cada data report

                    Código:
                    Private Sub DataReport_Initialize()
                         SubClassReport Me.hwnd
                    End Sub
                    
                    Private Sub DataReport_Terminate()
                         UnSubClassReport Me.hwnd
                    End Sub
                    Miguel A. Nuñez
                    Ing. Sistemas.
                    www.invensoftware.com.ve
                    www.invensoftwareweb.com

                    Comentario

                    Trabajando...
                    X