Calcular Altura

Iniciado por SheKeL_C$, 6 Octubre 2006, 11:23 AM

0 Miembros y 1 Visitante están viendo este tema.

SheKeL_C$

Alguien sabe como calcular la altura de la barra de tareas...

         




Gracias y Salu2  :)

SheKeL_C$


<--v1c1ous-->

La verdad que nose como averiguarla, porque no te fijas en si esta por el registro?

En tu lugar usaria algun programa en VB para monitorear los cambios en la carpeta Windos y en el Registro y lo activaria justo en el momento de cambiar la altura de la barra.

Ahora, si queres calcularla literalemnte, bueno, ahi hay que crear alguna funcion, habria que ver.


edge master

#3
Se podria buscar la ventana con la funcion FindWindow y FindWindowEx y despues con GetClientRect se puede obtener la altura de la ventana.

SheKeL_C$

Si a alguien le sirve
Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Function a()
Dim hwnd As Long
Dim Rectangle As RECT

hwnd& = FindWindow("Shell_TrayWnd", "")

    GetClientRect hwnd&, Rectangle
    MsgBox "Ancho : " + Str$(Rectangle.Right - Rectangle.Left) + " Pixels." + Chr$(13) + "Alto : " + Str$(Rectangle.Bottom - Rectangle.Top) + " Pixels."

End Function

edge master

GetClientRect devuelve las cordenadas con respecto a la esquina superior izquierda de la ventana q se le pasa como parametro(left y top son 0) por lo que no es necesario hacer la resta.