Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/09/2004, 07:08
Avatar de lic_dahool
lic_dahool
 
Fecha de Ingreso: noviembre-2003
Mensajes: 418
Antigüedad: 21 años
Puntos: 0
Bien, si aún necesitas el código para posicionar tu ventana por sobre la barra de tareas, aquí te va:

Este código te da la dimensiones de la Barra de Tareas:
Código:
Private Type RECT
    Left As Long
    top As Long
    Right As Long
    Bottom As Long
End Type

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Function CopyRect Lib "user32" (lpDestRect As RECT, lpSourceRect As RECT) As Long

Public Function GetTaskBarPos(Optional ByRef posLeft As Long, Optional ByRef posTop As Long, Optional ByRef posRight As Long, Optional ByRef posBottom As Long)

    'Copyright 2004 DaHool. 

    Dim rectWindow As RECT, rectCopy As RECT
    Dim tWnd As Long
    
    tWnd = FindWindow("Shell_TrayWnd", vbNullString)
    GetWindowRect tWnd, rectWindow
    CopyRect rectCopy, rectWindow

    posLeft = rectCopy.Left
    posRight = rectCopy.Right
    posTop = rectCopy.top
    posBottom = rectCopy.Bottom

End Function
Ahora para posicionar tu ventana sobre el borde superior haces lo siguiente:
Código:
    Dim topPos As Long, topBot as Long, TaskHeight as Long
    
    Call GetTaskBarPos(, topPos, , topBot)

    'Con esto obtengo el tamaño de la barra
    TaskHeight = (topBot - topPos) * Screen.TwipsPerPixelY

    'Aquí posiciono el formulario sobre el borde superior
    Me.top = Screen.Height - (Me.Height + TaskHeight)
Espero sea de utilidad.

Saludos.
__________________
La cantidad total de inteligencia del planeta permanece constante.
La población, sin embargo, sigue aumentando.

COLE


:cool: Los ordenadores no resuelven problemas ... ejecutan soluciones.
Laurent Gasser


Tienes alguna duda :pensando: ? >>> www.google.com :aplauso: <<<