Ir para conteúdo
Fórum Script Brasil
  • 0

Tamanho maximo do form (VB 6.0)


Carolina Marinho

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0

pra centralizar um form de qualquer tamanho eu uso esse codigo:

Form1.Move (Screen.Width - Form1.Width) / 2, (Screen.Height - Form1.Height) / 2 - 600
agora o form do tamanho da tela acho q você pode fazer assim ó:
Form1.Height = Screen.Height
Form1.Width = Screen.Width

Form1.Move 0, 0[/code]

Link para o comentário
Compartilhar em outros sites

  • 0

tem, você faz um foreach e pega todos os controles (um por um) e acerta o top e o left dele.

so q ai você teria q saber totalmente o tamanho q é ocupado pelos controles tanto verticalmente quanto horizontalmente.

tipo, qual seria o tamanho do form na horizontal?? tipo do comeco do textbox mais a esquerda ate o final do q ta mais a direita??

você pega esse valor, subtrai do tamnho da tela e soma no left de cada controle.

acho q você poderia pegar o tamanho do form antes de redimensionar. tipo, no design, acerte o tamanho certinho do form de forma q não fiquem espacos vazios nas bordas.

e ai você faria um codigo tipo assim:

Dim m As Control
For Each m In Form1.Controls
    m.Left = (Screen.Width - Form1.Width) / 2
    m.Top = (Screen.Height - Form1.Height) / 2
Next[/code]

tenta ai, qualquer coisa poste.

Link para o comentário
Compartilhar em outros sites

  • 0

Kuroi, como os usuários desse sistema usam monitores de 15", eu fui testando e ficou assim:

Private Sub Form_Load()
    frmCadastro.Height = Screen.Height
    frmCadastro.Width = Screen.Width
    frmCadastro.Move 0, 0
    
    frmGerenciamento.Height = Screen.Height
    frmGerenciamento.Width = Screen.Width
    frmGerenciamento.Move 0, 0

    frmPrincipal.Height = Screen.Height
    frmPrincipal.Width = Screen.Width
    frmPrincipal.Move 0, 0
    
    Picture2.Width = Screen.Width - 270
    Picture1.Width = Screen.Width - 170
    Picture1.Height = Screen.Height - 170
    cmd_sair.Left = cmd_sair.Left - 300
    frmGerenciamento.Picture1.Height = Screen.Height - 200
    frmGerenciamento.Picture1.Width = Screen.Width - 200
    frmCadastro.frm_dados_agente.Width = Screen.Width - 425
    frmCadastro.frm_banco.Width = Screen.Width - 425
    frmCadastro.frm_observacao.Width = Screen.Width - 425
    frmCadastro.txt_observacao.Width = frmCadastro.frm_observacao.Width - 600
End Sub

Tá funcionando, e centralizado (quase perfeito), mas vou tentar o que você falou.

Muito obrigada!

Link para o comentário
Compartilhar em outros sites

  • 0

bom, na verdade eu passei o codigo errado, na verdade seria tipo isso q eu tava imaginando:

Dim m As Control
For Each m In Form1.Controls
    m.Left = m.Left + ((Screen.Width - Form1.Width) / 2)
    m.Top = m.Top + ((Screen.Height - Form1.Height) / 2)
Next[/code]

aquela conta você tem q somar no proprio left do objeto e não simplesmente atribuir. não testei mas acho q deveria funcionar isso ai.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...