Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/11/2005, 13:12
Avatar de David
David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
De acuerdo

Cita:
Iniciado por (Pato)²
muchas gracias che... la verdad que pabo que no me avive antes... ejjeje
le puse esto y quedo e 10:
Código:
If Not FRM.Height = 1 Then FRM.Height = FRM.Height - 1
me gusto muchi lo que dijiste de que al altura del systray puede cambiar, y esa solucion que diste debe andar, pero no sé como usar esas funciones de la API, no me podrias explicar
Es que soy muy nuevo con el vb (este es recien mi 1º programa), y todo lo que hago lo tengo que aprender :P

salusoy y gracias

(Pato)²
Código:
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 Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type
Private Sub Form_Load()
Dim hWnd As Long
Dim buffRECT As RECT
hWnd& = FindWindow("Shell_TrayWnd", "")
If hWnd > 0 Then
    Dim res As Long
    res = GetWindowRect(hWnd, buffRECT)
    If res > 0 Then
        MsgBox "El Tamaño del Systray es: " & CStr(buffRECT.Bottom - buffRECT.Top) & " px.", vbInformation, "Tamaño"
    End If
End If
End Sub
A eso me refería, en éste código llamamos a la API: las funciones:
FindWindow -> Nos permite encontrar el hWnd de una ventana sabiendo su nombre de clase (en nuestro caso Sys_TrayWnd) o su Título ("" en nuestro caso pues el Systray no tiene título).
GetWindowRect -> Nos permite obtener el rectángulo a partir del hWnd de un Objeto.

Además, definimos un tipo que nos pide como parámetro el GetWindowRect, o sea RECT (creo que ya debes saber qué son Tipos)...

Y así, ya que nuestro RECT pasa como "ByRef" la API puede modificarlo, lo que en el caso lo modifica poniendo en él los valores del rectángulo del Systray....

Espero no haberte confundido, nos vemos...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.