28/09/2004, 07:08
|
| | | 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: <<< |