Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
nuelss

Como Aumentar A Figura Com A Resolução ?

Recommended Posts

:help: Fiz um programinha no VB que usa algumas imagens de fundo, inclusive uma delas (que esta atrás de todas) ocupa todo o fundo do formulário.

O programa esta sendo criado para ser executado maximizado, ficava legal quando executado em 800 x 600 pixels. Mas tive uma surpresa; depois de algum tempo mudei a resolução para 1024 x 768 pixels, e vi que o formulário fica maximizado, porém a figura fica do tamanho antigo; e fica feio para caramba.

Como eu faço para a imagem principal crescer ou diminuir junto com a resolução da tela ???

E as figurinhas que estão dispostas no formulario, como faco para que a posição delas mude proporcionalmente junto com a resolução da tela ???

Aguardando ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro, se for um Form comum (SDI) e você estiver usando um controle PictureBox para colocar a imagem, troque-o por um controle Image.

Depois, coloque a propriedade Stretch deste controle para True e, no evento "Form_Resize" do Formulário, coloque esse código:

Private Sub Form_Resize()

   ControleImage.Move 0, 0, ScaleWidth, ScaleHeight

End Sub

onde ControleImage seria o nome que você deu ao controle Image. Isso vai redimensionar o Image de acordo com o tamanho do Form.

Agora se for um Formulário MDI, vai ter que fazer uma "gambiarra", pois esse tipo de Form tem algumas restrições para aceitar controles diretamente nele: você vai ter que colocar o Image dentro de um PictureBox, e colocar esse código no MDI:

Private Sub Form_Resize()

   ControlePicture.Move 0, 0, ScaleWidth, ScaleHeight

End Sub

Private Sub ControlePicture_Resize()

   ControleImage.Move 0, 0, ScaleWidth, ScaleHeight

End Sub

onde ControlePicture seria o nome que você deu ao controle PictureBox e ControleImage seria o nome que você deu ao controle Image.

Agora para mudar a posição de "figurinhas", tem que ver que tipo de controle é qual a posição que você quer (centro, topo, rodapé, direita, esquerda, etc...) mas na maioria das vezes é no evento "Form_Resize" do Formulário (ou do controle que serve de Container para aquilo que você quer mudar a posição).

Isso é fácil resolver.

B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

:unsure: OK, VALEU,

MAS AINDA ME RESTAM DUVIDAS SSOBRE AS "FIGURINHAS" (...)

AS MINHAS IMAGENS SAO DO TIPO IMAGE, E NÃO PICTURE BOX;

AGORA, AS "FIGURINHAS" SÃO TAMBEM ENTIDADES TIPO IMAGE, porém NÃO OCUPAM TODO O FORMULARIO (QUE É O FORMULÁRIO SIMPLES SDI), ELAS APENAS FICAM DISPOSTAS PELO FORMULARIO, E QUANDO EU AUMENTAR A RESOLUÇÃO DA TELA, ELAS NÃO PRECISAM MUDAR DE TAMANHO, PODEM APENAS AUMENTAR O ESPAÇAMENTO ENTRE ELAS; OU, SE FOR MAIS CONVENIENTE (ACHO QUE É), ELAS PODEM TAMBEM AUMENTAR DE TAMANHO PROPORCIONALMENTE AO TAMANHO DA TELA.

ABRAÇO,

EMANUEL

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado Originalmente por nuelss@19 jul 2004, 11:31

porém NÃO OCUPAM TODO O FORMULARIO (QUE É O FORMULÁRIO SIMPLES SDI), ELAS APENAS FICAM DISPOSTAS PELO FORMULARIO, E QUANDO EU AUMENTAR A RESOLUÇÃO DA TELA, ELAS NÃO PRECISAM MUDAR DE TAMANHO, PODEM APENAS AUMENTAR O ESPAÇAMENTO ENTRE ELAS

Então é a mesma coisa: você pode fazer tudo pelo evento "Form_Resize", usando o método "Move" do controle, conforme o exemplo anterior.

Mas veja que o método "Move" tem quatro argumentos: Left, Top, Width e Height. Basta usar apenas os dois primeiros, passando as coordenadas esquerda e topo para o controle (é isso que vai mudar a posição do Image conforme o tamanho do Form), e ignorar os dois últimos (para não distorcer a imagem)

Editando: se tiver mais de um controle Image para mover (aquele das figurinhas), você pode usar um deles como uma espécie de "âncora", por exemplo:

Vamos supor que você tenha os controles Image1, Image2 e Image3, cada um deles com ícones em tamanho 32x32 pixels.

Vamos supor também que você queira movê-los para o topo do Form, de modo que formem uma espécie de "barra de ferramentas".

O código ficaria mais ou menos assim:

Private Sub Form_Resize()

   

    Const Margem As Single = 150

    Const Espaco As Single = 75

   

    Image1.Move Margem, Margem

    Image2.Move (Image1.Left + Image1.Width + Espaco), Image1.Top

    Image3.Move (Image2.Left + Image2.Width + Espaco), Image2.Top

   

End Sub

Note que o Image1 é "âncora" para o Image2, ou seja, a posição do Image2 depende da posição do Image1. O mesmo serve para o Image3 com relação ao Image2, e assim será para cada controle. Os valores das constantes "Margem" e "Espaço" podem ser alterados à vontade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

:D Ok, Valeu.

:rolleyes: Não querendo pedir muito, mas me veio a ideia agora ...

Ainda não olhei no VB para ver se da para fazer, apenas li num destes topicos do Clube "Como omitir o botão X".

Como faço para omitir a barra de titulos inteira do form ???

A proposito, seu novo avatar ficou legal.

Abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado Originalmente por nuelss@21 jul 2004, 10:18

Ainda não olhei no VB para ver se da para fazer, apenas li num destes topicos do Clube "Como omitir o botão X".

Como faço para omitir a barra de titulos inteira do form ???

A proposito, seu novo avatar ficou legal.

Bom, se for para desabilitar o botão "X", veja como fazer neste tópico: http://forum.clubedohardware.com.br/index....howtopic=157778

Agora para ocultar a barra de título do Form inteira, coloque a propriedade "ControlBox = False", e deixe o Caption vazio, sem texto.

Quanto ao avatar, thanks!! (é o terrorista do ELG, no C&C Generals...)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×