seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^

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

seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Você não está conectado. Conecte-se ou registre-se

[tutorial] botao redimensiona junto com a janela

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

Kodo no Kami

Kodo no Kami
master
master

e ae galera a pedido do mmxm vou ensinar como fazer para o botao expandir junto com com janela quando maximizar, porem como tive problema para instalar o gtk aq nesse windows vou ensinar por logica assim da para fazer em qualquer outra linguagem ou biblioteca, para começar vamos analisar a imagem abaixo

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

vamos imaginar que a imagem anterior seja nosso programa, a parte preta seja o contorno da janela e parte azul seja os botoes, para a gente expandir os botoes conforme a janela aumentar temos que saber 4 coisas que sao largura e altura da janela e dos dois botoes e posição que eles estao para direita ou para baixo dentro da janela, com isso da para a gente calcular tudo certinho, vamos primeiro calcular os botoes, nesse exemplo os dois botoes tem a mesma largura e altura entao isso quer dizer que podemos fazer isso

Código:
botao2_largura = botao1_largura
botao2_altura = botao1_altura

eu disse para o programa que o botao2 vai receber a mesma largura e altura do botao1 entao se eu modificar esses atributos do botao1 no botao2 tambem vai modificar automaticamente capiche?, se os botões tiver tamanhos diferentes a gente teria que calcular essa diferença com base no tamanho dos dois incrementando ou decrementando a diferença entre eles (como no meu exemplo os botoes tem o mesmo tamanho nao precisamos preocupar com isso), agora temos que saber a posição dos botoes, para ser mais especifico a gente so precisa saber do primeiro botao, o segundo vai usar o primeiro como referencia para saber qual é posição que ele vai, essa posição é na maioria das bibliotecas ou linguagem é a mesma coisa que seria da onde o botao vai iniciar e nao o fim dele, com isso basta a gente calcular a posição da direita do botao1 + a largura do botao1 + o espaço entre os dois botoes depois atribuir isso para a posição para direita do botao2

Código:
botao2_largura = botao1_largura
botao2_altura = botao1_altura

botao2_posDir = botao1_posDir + botao1_largura + espaço

se a gente fizer isso mesmo que movemos o botao1 um pouco para direita ou esquerda o botao2 vai ficar sempre a direita dele depois de um espaço e ambos tera o mesmo tamanho

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

ate agora so foi a parte de posicionar o botao2 com referencia ao botao1 isso nao vai fazer expandir o botao, para a gente expandir o botao basta pegar a largura da janela dividir pela quantidade de botao no caso 2 e subtrair pelo espaço entre os botões (no caso o espaço são 3 que é dois espaço entre as bordas da janela e um espaço entre o botao, voce pode somar os 3 ou colocar o valor dos 3 ja somado tanto faz) e atribuir isso para a largura do botao1 que vai atribuir para largura do botao2 automaticamente (lembrando eles tem o mesmo tamanho), tambem é recomendado colocar isso antes de calcular o tamanho dos botoes

Código:
botao1_largura = janela_largura / 2 - (espaço * 3)

botao2_largura = botao1_largura
botao2_altura = botao1_altura

botao2_posDir = botao1_posDir + botao1_largura + espaço

como nao tem botao embaixo so precisamos pegar a altura da janela e subtrair com espaço da borda depois atribuir para o altura do botao1, e pronto fizemos um botao que redimensiona automaticamente (dependendo da linguagem do tipo de biblioteca existe meios de alinhar dessa forma com poucos codigos e sem muito trabalho kkkkk)

Código:
botao1_largura = janela_largura / 2 - (espaço * 3)
botao1_altura = janela_altura - espaço

botao2_largura = botao1_largura
botao2_altura = botao1_altura

botao2_posDir = botao1_posDir + botao1_largura + espaço

veja o mesmo exemplo usando borland c++ 6

Código:
void __fastcall TForm1::tmr1Timer(TObject *Sender)
{
   btn1->Width = Form1->Width / 2 - (10 * 3);
   btn1->Height = Form1->Height - 60;

   btn2->Width = btn1->Width;
   btn2->Height = btn1->Height;

   btn2->Left = btn1->Left + btn1->Width + 10;
}

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

se expandi a janela os botao redimensiona junto

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

bom galera é isso ^^

by kõdo no kami

https://endoffile.umforum.net

mmxm

avatar
avançado
avançado

Vlw mano , me ajudou muito kkkkk

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos