USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Movimentar objeto em tempo de execução
AAA
OURINHOS
SP - BRASIL
ENUNCIADA !
Postada em 16/09/2007 13:42 hs            
Tenho um sistema que usa um form mdi, o no form filho todos os objetos coloquei dentro de uma label. Então, quando o mdi está maximizado, o filho também fica maximizado e a label fica centralizada no form filho. Preciso saber se tem como, em tempo de execução, conforme eu altere a dimensão do mdi com o mouse eu também posicione a label, ou seja, fixar a label sempre no centro do form. O valor left e ou top altera conforme eu movimento o form mdi. Tem como? 
   
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 17/09/2007 15:31 hs            
Vc tem que trabalhar com as propriedade Width e Height da label conforme as dimensões do MDI.
 
Faça uma proporção: width mdi por height mdi = width label por height label
 
Se vc maximizar quais as dimensões de width e height do form mdi e da label?
Pegue os valores e depois faça a proporção.
 
Qualquer dúvida é só postar.
 
At+
 
obs: eu não tenho como testar no momento, se não conseguir posso passar depois.
 
   
AAA
OURINHOS
SP - BRASIL
ENUNCIADA !
Postada em 18/09/2007 00:58 hs            
ghost_jlp obrigado pela dica. O que eu faço no sistema é o seguinte:
No evento load do form filho:
If frmMDI.WindowState = 2 Then
varCentraliza = (frmMDI.Width - pnlPrincipal.Width) / 2
pnlPrincipal.Left = varCentraliza
End If
varCentraliza é uma variável global que uso em todo sistema que recebe um determidado valor que é passado para a propriedade left da label. Funciona bem, porém, o que eu queria saber é se tem uma forma de fixar a label no centro conforme eu altere o tamnho pelo mouse. Do jeito que está só altera na propriedade .WindowState=0 then pnlPrincipal.Left=0.
   
Tekki
Pontos: 2843 Pontos: 2843 Pontos: 2843
UBERLÂNDIA
MG - BRASIL
ENUNCIADA !
Postada em 18/09/2007 23:52 hs            

AAA não sei se compreendi bem o que você quer mas fiz um pequeno exemplo, veja se é isto....

 
'Declarar uma variável do tipo form
Dim p_Form As Form
'No Resize do MDI form
Private Sub MDIForm_Resize()
    For Each p_Form In Forms
        If p_Form.Name <> "frmMDI" Then
            varCentraliza = (frmMDI.Width - p_Form.pnlPrincipal.Width) / 2
            p_Form.pnlPrincipal.Left = varCentraliza
        End If
    Next
End Sub
   
AAA
OURINHOS
SP - BRASIL
ENUNCIADA !
Postada em 19/09/2007 00:23 hs            
Ficou perfeito, funcionou do jeito que eu precisava, sugiro colocar este trecho de código nas dicas (se já não o fez). Valeu.
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página