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

    [Resolvido]Função para Centralizar Objetos

    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Função para Centralizar Objetos Empty [Resolvido]Função para Centralizar Objetos

    Mensagem  Leandro 22/4/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

    avatar
    Convidado
    Convidado


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

    Mensagem  Convidado 22/4/2014, 17:32

    Olá Leandro, não sei se entendi direito a tua ideia, mas quando quero centralizar todos os controles do formulário, uso essa função em um módulo:
    Dim ctl As Control
    For Each ctl In argFrm.Controls
    With ctl

    Select Case .ControlType

    Case acTextBox 'Centraliza as Caixas de Texto
    .TextAlign = 2

    Case acComboBox 'Centraliza as Caixas de combinação
    .TextAlign = 2

    End Select
    End With
    Next ctl

    E no evento atual do formulário chamo a função:
    Call CentControle(Form_NomeDoFormulário)
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Leandro 22/4/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.




    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Alexandre Neves 22/4/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
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Leandro 22/4/2014, 18:51

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

    Ficou assim:

    Código:

    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


    Conteúdo patrocinado


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

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 17:58