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

    [Resolvido]Função para Centralizar Objetos

    Compartilhe
    avatar
    Leandro
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1577
    Registrado : 12/11/2009

    [Resolvido]Função para Centralizar Objetos

    Mensagem  Leandro em Ter 22 Abr 2014, 15:23

    Bom dia!

    Montei essa simples função para centralizar controles na largura do formulário:

    Public Function CentralizaControle(frm As Form, ctl As Control)
       ctl.Left = (frm.Width / 2) - (ctl.Width / 2)
    End Function


    No evento ao carregar do form escrevo assim:

    Call CentralizaControle(Me, NomeDoControle)

    Como montar essa função para inserir mais nomes de controles sem ter que inserir mais variáveis na estrutura da mesma?, ex:

    Public Function CentralizaControle(frm As Form, ctl1 As Control, ctl2 As Control, ctl3 As Control, ctl4 As Control, ctl5 As Control)

    Até porque pode-se precisar centralizar muitos controles.

    Muito obrigado


    .................................................................................




    Algumas soluções em access



    [Você precisa estar registrado e conectado para ver este link.]

    [Você precisa estar registrado e conectado para ver este link.]

    [Você precisa estar registrado e conectado para ver este link.]

    [Você precisa estar registrado e conectado para ver este link.]


    O autor desta mensagem foi removido do fórum - Ver a mensagem
    avatar
    Leandro
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1577
    Registrado : 12/11/2009

    Re: [Resolvido]Função para Centralizar Objetos

    Mensagem  Leandro em Ter 22 Abr 2014, 17:43

    Olá Beto, obrigado pela resposta mas não é centralizar o conteúdo do controle, mas o controle na seção do formulário, falhei na explicação.





    .................................................................................




    Algumas soluções em access



    [Você precisa estar registrado e conectado para ver este link.]

    [Você precisa estar registrado e conectado para ver este link.]

    [Você precisa estar registrado e conectado para ver este link.]

    [Você precisa estar registrado e conectado para ver este link.]


    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6442
    Registrado : 05/11/2009

    Re: [Resolvido]Função para Centralizar Objetos

    Mensagem  Alexandre Neves em Ter 22 Abr 2014, 18:34

    Boa tarde,
    Dim Ctl As control
    Public Function CentralizaControles(frm As Form,ParamArray Ctls() As Control)
    For Each Ctl In Ctls
    ctl.Left = (frm.Width / 2) - (ctl.Width / 2)
    Next Ctl
    End Function


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Leandro
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1577
    Registrado : 12/11/2009

    Re: [Resolvido]Função para Centralizar Objetos

    Mensagem  Leandro em Ter 22 Abr 2014, 18:51

    Alexandre, muito obrigado, houve uma pequena mudança mas sua resposta foi muito oportuna!!!

    Ficou assim:

    Public Function CentralizaControles(frm As Form, ParamArray Ctls()) As Variant
    Dim Ctl As Control
    ......For Each Ctl In frm.Controls
    ............Ctl.Left = (frm.Width / 2) - (Ctl.Width / 2)
    ......Next Ctl
    End Function

    Muito obrigado


    .................................................................................




    Algumas soluções em access



    [Você precisa estar registrado e conectado para ver este link.]

    [Você precisa estar registrado e conectado para ver este link.]

    [Você precisa estar registrado e conectado para ver este link.]

    [Você precisa estar registrado e conectado para ver este link.]



      Data/hora atual: Dom 22 Out 2017, 11:13