Página 1 de 1

Como centralizar os objetos no form em tela cheia? (Resolvido)

Enviado: Qui Set 15, 2016 2:14 pm
por pasedo
Boa tarde pessoal, preciso da ajuda de vocês, como faço para centralizar os botões e textbox no Formulario em tela cheia, Consegui fazer o formulário ficar em tela cheia, mas os objetos não sei como fazer , tem como via vba fazer isso? Grato a todos que me ajudarem

Re: Como centralizar os objetos no form em tela cheia?

Enviado: Qui Set 15, 2016 6:42 pm
por webmaster
Pasedo,

Talvez (talvez mesmo) isto ajude:

http://www.tomasvasquez.com.br/blog/mic ... larios-vba

Re: Como centralizar os objetos no form em tela cheia?

Enviado: Dom Set 18, 2016 7:25 pm
por Mikel Silveira Fraga
Tomás, bom noite.

Estava escondendo o jogo sobre essa funcionalidade desenvolvida???? (risos)

Cara, pelo vídeo que vi, isso é muito interessante. Vou dar uma olhada, pois estou desenvolvendo uma Classe bem complexa, onde pode ser feito todo tipo de alteração em Userforms e, essa propriedade Anchor, pode vir a se um complemento para o mesmo.

Excelente rotina. Abraços!!!!!

Re: Como centralizar os objetos no form em tela cheia? (Resolvido)

Enviado: Sex Jul 26, 2019 4:42 pm
por Alex Abreu
Boa Tarde, desculpe ter que desenterrar esse tópico, mas pelo que eu andei vendo no video do Vimeo e analisando o código, tens que mencionar individualmente todos os objetos VBA encontrados no Userform para que o efeito Anchor funcione, não tem um mecanismo que ele reconheça todos?
Aproveitando a deixa, tem como combinar esse comando com o de maximizar o userform?

EDIT: Acabei tropeçando num meio de fazer esse Anchor tanto por API do Windows quanto por VBA
Informações eu consegui deste site abaixo
https://exceloffthegrid.com/resize-a-us ... ndows-api/
Mas ainda tem que mencionar todos os objetos VBA do Userform o que pra mim alguns darão trabalho :roll:

Re: Como centralizar os objetos no form em tela cheia? (Resolvido)

Enviado: Sáb Jul 27, 2019 1:08 am
por Mikel Silveira Fraga
Boa noite a todos.

Alex Abreu, muito bacana os questionamentos feito por você. Deixa ver se consigo dar uma solução ou encaminhamento:


Alex Abreu escreveu: Sex Jul 26, 2019 4:42 pm ... tens que mencionar individualmente todos os objetos VBA encontrados no Userform para que o efeito Anchor funcione, não tem um mecanismo que ele reconheça todos?
Eu estou me programando para voltar a gravar alguns vídeos e, uma das primeiras aulas que vou gravar, é uma Classe que desenvolvi, onde fiz algo parecido com isso. No lugar de ter que atribuir controle por controle, eu utilizei a propriedade Tag dos objetos, fornecendo a informação que eu queria, de forma que ao instanciar o formulário dentro da classe, uma rotina já rodava e reconhecia todos os elementos que seriam afetados pela classe, através desta Tag. No meu caso, é para formatação de máscaras, mas vejo a mesma aplicabilidade para o seu caso.
Logo estarei divulgando o vídeo. Assim você terá uma ideia.



Alex Abreu escreveu: Sex Jul 26, 2019 4:42 pm Aproveitando a deixa, tem como combinar esse comando com o de maximizar o userform?
Claro que é possível, mas as ações precisam estar atreladas ao Evento Resize do Userform. Sempre que o formulário alterar o seu tamanho, independente do motivo, esse evento é disparado.



Alex Abreu escreveu: Sex Jul 26, 2019 4:42 pm Acabei tropeçando num meio de fazer esse Anchor tanto por API do Windows quanto por VBA
Informações eu consegui deste site abaixo
Dei uma olhada no código e, apenas para reforçar, o uso da API é apenas para adicionar tipo um botão, no canto inferior direito, que permite o usuário arrastar e definir o tamanho do Userform, manualmente. O restante das rotinas, são simples configurações para definir o tamanho e posicionamento dos elementos.


Ultimamente, não estou tendo muito tempo para desenvolver novas soluções, mas assim que conseguir, dou uma olhada nesse tema. Apesar de ter deixado o esquema da Classe Archor, ainda não tive tempo de explorá-la de maneira a adaptar/desenvolver algo que melhore a eficiência da mesma.

De qualquer forma, vamos nos falando. Caso tenha interesse no canal, procure por Mikel S Fraga no Youtube, ou clique no link: Canal Mikel S Fraga

No mais, abraços e excelente final de semana.

Re: Como centralizar os objetos no form em tela cheia? (Resolvido)

Enviado: Sáb Jul 27, 2019 6:33 pm
por Alex Abreu
Mikel Silveira Fraga escreveu: Sáb Jul 27, 2019 1:08 am Boa noite a todos.

Eu estou me programando para voltar a gravar alguns vídeos e, uma das primeiras aulas que vou gravar, é uma Classe que desenvolvi, onde fiz algo parecido com isso. No lugar de ter que atribuir controle por controle, eu utilizei a propriedade Tag dos objetos, fornecendo a informação que eu queria, de forma que ao instanciar o formulário dentro da classe, uma rotina já rodava e reconhecia todos os elementos que seriam afetados pela classe, através desta Tag. No meu caso, é para formatação de máscaras, mas vejo a mesma aplicabilidade para o seu caso.
Logo estarei divulgando o vídeo. Assim você terá uma ideia.

Claro que é possível, mas as ações precisam estar atreladas ao Evento Resize do Userform. Sempre que o formulário alterar o seu tamanho, independente do motivo, esse evento é disparado.

Dei uma olhada no código e, apenas para reforçar, o uso da API é apenas para adicionar tipo um botão, no canto inferior direito, que permite o usuário arrastar e definir o tamanho do Userform, manualmente. O restante das rotinas, são simples configurações para definir o tamanho e posicionamento dos elementos.

Ultimamente, não estou tendo muito tempo para desenvolver novas soluções, mas assim que conseguir, dou uma olhada nesse tema. Apesar de ter deixado o esquema da Classe Archor, ainda não tive tempo de explorá-la de maneira a adaptar/desenvolver algo que melhore a eficiência da mesma.

De qualquer forma, vamos nos falando. Caso tenha interesse no canal, procure por Mikel S Fraga no Youtube, ou clique no link: Canal Mikel S Fraga

No mais, abraços e excelente final de semana.
Grato por ter se prontificado em responder minhas dúvidas caro Mikel, ganha-se mais um inscrito rsrs
Ficarei aguardando esse video para poder aplicar mais essa solução nos meus projetos hehe

EDIT: acabei tropeçando numa planilha pronta com o que eu estava buscando, neste arquivo o autor desenvolveu um módulo que faz o método Anchor em todos os itens de um users sem precisar mencionar individualmente cada objeto, e ainda combina com o recurso de maximizar o userform, o que para mim foi muito útil pois dependendo da resolução do monitor se o projeto é iniciado em um monitor (do meu trabalho por exemplo que tem resolução 720p) e continuado em outro monitor (da minha casa é 1440p) não ficar uma coisa pra lá de bizarra!

Deixei em anexo para quem precisar (Não lembro de onde eu peguei agora mas tem propraganda de quem desenvolveu o sistema no arquivo)