Vídeo recomendado
https://youtu.be/diWPPPhW-9E

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

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
pasedo
Manda bem
Manda bem
Mensagens: 184
Registrado em: Ter Abr 20, 2010 8:32 pm

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

Mensagem 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
Anexos
CADASTRO SIMPLES - Copia.rar
Planilha anexada
(37.29 KiB) Baixado 392 vezes
Editado pela última vez por pasedo em Seg Set 19, 2016 7:38 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

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

Mensagem por webmaster »

Pasedo,

Talvez (talvez mesmo) isto ajude:

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


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

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

Mensagem 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!!!!!


Avatar do usuário
Alex Abreu
Colaborador
Colaborador
Mensagens: 31
Registrado em: Sáb Jun 30, 2018 4:40 pm
Localização: Rio do Campo/SC
Contato:

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

Mensagem 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:


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

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

Mensagem 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.


Avatar do usuário
Alex Abreu
Colaborador
Colaborador
Mensagens: 31
Registrado em: Sáb Jun 30, 2018 4:40 pm
Localização: Rio do Campo/SC
Contato:

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

Mensagem 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)
Anexos
post_0087_Form_Control_Resizer.zip
(63.03 KiB) Baixado 364 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder