MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Aplicar Evento Efeito Especial em Subform

    Compartilhe
    avatar
    lupe
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 430
    Registrado : 15/07/2010

    Aplicar Evento Efeito Especial em Subform

    Mensagem  lupe em 11/10/2018, 14:19

    Olá!

    Encontrei aqui no fórum um código muito bom para aplicação de efeitos especiais em controles. No formulário principal ele funciona no perfeito, porém, ao chamar a função no subform não retorna a ação esperada.

    Alguém sabe como adaptar o código abaixo para rodar em subform?

    Public Sub InitialiseEvents(ByRef frmThisForm As Form)
    ' Elaborado pelo meu colega e amigo, ChrisO de Brisbane na Australia
    ' Colocado na sala de exemplos do [Você precisa estar registrado e conectado para ver este link.]
    ' por JPaulo com autoriza??o do autor
       Dim ctl As Control
       
       On Error Resume Next

       For Each ctl In frmThisForm
       
       If ctl.ControlType = acSubform Then
       If ctl(ctl.Name, 9) = "sub" Then

           'ctl.OnGotFocus = "=HandleFocus('" & frmThisForm.Name & "', '" & ctl.Name & "', 'Got')"
           'ctl.OnLostFocus = "=HandleFocus('" & frmThisForm.Name & "', '" & ctl.Name & "', 'Lost')"
           ctl.OnMouseMove = "=HandleMouseMove('" & frmThisForm.Name & "', '" & ctl.Name & "')"
       End If
           End If
       Next ctl
       
       Forms(frmThisForm.Name).Section(acDetail).OnMouseMove = "=HandleMouseMove('" & frmThisForm.Name & "', '" & "Detail" & "')"
       
       Err.Clear

    End Sub


    Public Function HandleMouseMove(ByVal strFormName As String, _
                                   ByVal strControlName As String)
    ' Elaborado pelo meu colega e amigo, ChrisO de Brisbane na Australia
    ' Colocado na sala de exemplos do [Você precisa estar registrado e conectado para ver este link.]
    ' por JPaulo com autoriza??o do autor
       
       Static strHighlightedControl As String
       If strHighlightedControl <> "" And strHighlightedControl <> strControlName Then
           HandleFocusMenu strFormName, strHighlightedControl, "Lost"
           strHighlightedControl = ""
       End If
       
       If strControlName <> "Detail" And strControlName <> strHighlightedControl Then
           strHighlightedControl = strControlName
           HandleFocus strFormName, strHighlightedControl, "Got"
       End If
       
    End Function


    Public Function HandleFocus(ByVal strFormName As String, _
                               ByVal strControlName As String, _
                               ByVal strChange As String)
    ' Elaborado pelo meu colega e amigo, ChrisO de Brisbane na Australia
    ' Colocado na sala de exemplos do [Você precisa estar registrado e conectado para ver este link.]
    ' por JPaulo com autoriza??o do autor

       Static lngForeColour   As Long
       Static lngFontWeight   As Long
       Static lngBorderStyle  As Long
       Static lngBorderColour As Long
       Static lngBackStyle    As Long
       Static lngBackColour   As Long
       Static lngSpecialEffect As Long
       
       On Error Resume Next

       With Forms(strFormName)(strControlName)
           Select Case strChange
               Case "Got"
                   ' Salva a corrente configura??o.
                   lngBorderStyle = .BorderStyle
                   
                   ' Define a configura??o pretendida
                   .BorderStyle = 1
                   
               Case "Lost"
                   
                   .BorderStyle = lngBorderStyle
                   
           End Select
       End With
       
       Err.Clear

    End Function


    .................................................................................
    Dividir conhecimentos é contribuir para a evolução da humanidade.
    avatar
    caiosouza
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 362
    Registrado : 05/12/2016

    Re: Aplicar Evento Efeito Especial em Subform

    Mensagem  caiosouza em 2/12/2018, 16:10

    Boa tarde,

    Já tentou alterar sua primeira linha?

    De: Public Sub InitialiseEvents(ByRef frmThisForm As Form)
    Para: Public Sub InitialiseEvents(ByRef frmThisForm As SubForm)


    .................................................................................
    A persistência leva ao sucesso!
    avatar
    lupe
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 430
    Registrado : 15/07/2010

    Re: Aplicar Evento Efeito Especial em Subform

    Mensagem  lupe em 3/12/2018, 19:42

    Olá, Caio!

    Já tentei sim, sem sucesso.

    Obrigado!


    .................................................................................
    Dividir conhecimentos é contribuir para a evolução da humanidade.

      Data/hora atual: 11/12/2018, 11:49