VBasicFacil

Principal - Enlaces - Codigo - Controles - API


Función GetWindowTextLength

Declaración

Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long

Plataformas

Descripción

Devuelve la longitud en caracteres del texto de una ventana (o del contenido de un control). Esta función se puede usar en unión con GetWindowText para crear una cadena de la longitud exacta del texto. Sin embargo esta función no incluye el termino nulo de terminación del texto de la ventana en el total de caracteres. En algunos casos, esta función puede devolver un gran texto, en cualquier caso nunca devolverá un número inferior al actual número de caracteres. GetWindowTextLength no trabaja con controles pertenecientes a otros programas. Para obtener el tamaño del texto de las ventanas de estos controles, use el mensaje WM_GETTEXTLENGTH.

Si se produce un error, la función devuelve 0 (use GetLastError para coger el código de error). En caso contrario, la función devuelve el numero de caracteres del texto de la ventana, sin incluir el carácter nulo de terminación.

Parametros

hwnd Manejador de la ventana de la que se quiere obtener la longitud del texto.

Ejemplo

Con este ejemplo vamos a hacer moverse (rotar) un texto en un botón.

Formulario (Contiene un TextBox y un ControlButton)

Option Explicit


'Mostrar el titulo de la ventana activa


Dim Handle As Long      'Manejador de la ventana activa
Dim Longitud As Long    'Longitud del título de la ventana activa
Dim Texto As String     'Buffer para el texto de la barra de título
Dim Retorno As Long     'Valor de retorno


Private Sub Form_Load()
    Handle = GetForegroundWindow()     'Devuelve el manejador de la ventana activa
    Longitud = GetWindowTextLength(Handle) + 1    'Longitud del título de la ventana
    Texto = Space(Longitud)     'Almacena espacio en el buffer para recibir el texto
    Retorno = GetWindowText(Handle, Texto, Longitud)     'Obtiene el título
    Texto = Left(Texto, Longitud - 1)     'Borra el carácter nulo al final del texto
    Text1.Text = Texto
End Sub


Private Sub Command1_Click()
    Unload Me
End Sub
		

Modulo (Implementado solo por claridad, podría ir en el formulario)

Option Explicit


Public Declare Function GetForegroundWindow Lib "user32" () As Long
Public Declare Function GetWindowTextLength Lib "user32" _
            Alias "GetWindowTextLengthA" _
           (ByVal hwnd As Long) As Long
Public Declare Function GetWindowText Lib "user32" _
            Alias "GetWindowTextA" _
           (ByVal hwnd As Long, _
            ByVal lpString As String, _
            ByVal cch As Long) As Long
        
Descargar Codigo : GetForegroundWindow.zip

 

VB.NET

Clase

System.Windows.Forms.Form.Text

Aplicaciones: Comprobar si se esta ejecutando otra instancia de nuestro programa

Ver tambien: GetWindowText

Categoria: Ventanas


Ultima actualización : 30 de noviembre de 2001
Copyright © 2001 Silared, s.l.
correo-e : vbasicfacil@silared.com
Site : www.vbasicfacil.com