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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Calcular o TOP do FORM
mwramos
PORTO ALEGRE
RS - BRASIL
ENUNCIADA !
Postada em 10/01/2007 17:05 hs         
Eu quero colocar o meu form no canto inferior direito da tela, estou calculando da seguinte forma:

form1.Top = Screen.Height - form1.Height

Mas uma parte do form fica por baixo da barra de tarefas do windows, e no XP a diferença fica maior ainda...

Espero que possam me ajudar.
Obrigado!
   
CSRocha
BRASILIA
DF - BRASIL
ENUNCIADA !
Postada em 11/01/2007 22:43 hs            
Calcule a altura da barra em twips (no olhômetro, tentative-e-erro mesmo). E desconte no screen.Height

form1.Top = (screen.height - x) - form1.height

Espero que ajude.
   
mwramos
PORTO ALEGRE
RS - BRASIL
Postada em 12/01/2007 14:07 hs         
Esta forma do "olhômetro" é exatamente o que tenho hoje e me gera transtornos, pois a altura da barra varia conforme a versão do Windows e coforme o tema utilizado.
 
Mas achei a solução, para quem interesse:
 
 
Obrigado!
     
MultySys
JUNDIAÍ
SP - BRASIL
ENUNCIADA !
Postada em 12/01/2007 15:41 hs            
Ja tentou fazer um calculo com esta logica que segue?
heigth da tela - heigth da barra inicialização (ou Top) - heigth do form = top do form.
Pense com esta lógica e tente... vale a tentativa. 
TÓPICO EDITADO
 
MultySys
JUNDIAÍ
SP - BRASIL
ENUNCIADA !
Postada em 12/01/2007 16:12 hs            
Tente tambem maximizar o form, pegar o heigth, e voce terá o Top da barra de inicialização... acho que é scaleheigth (propriedade do form maximizado), pegue o heigth do form minimizado ou no tamanho que voce dimencionou e determine o seu Top desejado. Espero que a logica te ajude, to sem programar faz tempo, se não te faria um exeplo mastigadinho. Abraço
   
Geronimo
não registrado
ENUNCIADA !
Postada em 14/01/2007 16:26 hs   
O código abaixo tem vantagem de funcionar mesmo que a barra esteja no topo da tela ou em um dos lados.

Para testar basta desenhar um commandbutton e colar o seguinte código:

Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Private Const SPI_GETWORKAREA = 48

Sub TelaToda(frm As Form)

    Dim lNewTop As Long, lNewLeft As Long
    Dim WA As RECT, lReturn As Long
    
    ' Busca as coordenadas da tela excluindo a barra de tarefas
    lReturn = SystemParametersInfo(SPI_GETWORKAREA, 0&, WA, 0&)

    ' Converte de pixels para twips
    WA.Left = WA.Left * Screen.TwipsPerPixelX
    WA.Right = WA.Right * Screen.TwipsPerPixelX
    WA.Top = WA.Top * Screen.TwipsPerPixelY
    WA.Bottom = WA.Bottom * Screen.TwipsPerPixelY

    Me.Move 0, 0, WA.Right - WA.Left, WA.Bottom - WA.Top
    
End Sub


Private Sub Command1_Click()

    TelaToda Me
    
End Sub

Private Sub Form_Load()

    Command1.Caption = "Clique Para Maximizar"
    
End Sub
   
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