MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    Aplicar Evento Efeito Especial em Subform

    lupe
    lupe
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

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

    Aplicar Evento Efeito Especial em Subform Empty Aplicar Evento Efeito Especial em Subform

    Mensagem  lupe 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 http://maximoaccess.forumotion.com/,
    ' 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 http://maximoaccess.forumotion.com/,
    ' 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 http://maximoaccess.forumotion.com/,
    ' 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.
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

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

    Aplicar Evento Efeito Especial em Subform Empty Re: Aplicar Evento Efeito Especial em Subform

    Mensagem  caiosouza 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)


    .................................................................................
    Caio Souza

    Engenheiro de Software
    lupe
    lupe
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

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

    Aplicar Evento Efeito Especial em Subform Empty Re: Aplicar Evento Efeito Especial em Subform

    Mensagem  lupe 3/12/2018, 19:42

    Olá, Caio!

    Já tentei sim, sem sucesso.

    Obrigado!


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

    Conteúdo patrocinado


    Aplicar Evento Efeito Especial em Subform Empty Re: Aplicar Evento Efeito Especial em Subform

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/9/2024, 04:24