VBasicFacil

Principal - Enlaces - Codigo - Controles - API


Función SetWindowText

Declaración

Declare Function SetWindowText Lib "user32.dll" Alias "SetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String) As Long

Plataformas

Descripción

Sirve para cambiar el texto del título de una ventana o un control, aunque esta función puede cambiar el texto de una ventana de otros programas, no puede cambiar el texto de un control que no sea de nuestro programa. Para poder cambiar el control de estos controles, use el mensaje use el mensaje WM_SETTEXT. La función devuelve 0 si se produce un error, en caso contrario devuelve un valor distinto de 0.

Parametros

hwnd Manejador de la ventana de la que se quiere obtener el texto Buffer donde se guardara el texto

lpString Buffer donde se guardara el texto de la ventana

Ejemplo

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

Formulario (Contiene un ControlButton y un Timmer)

Option Explicit


'   Programa de ejemplo de como podemos rotar el texto
'   de un CommanButton. Uso un CommandButton para mostrar
'   que no solo se puede cambiar el texto de la barra de
'   titulo del formulario


Private Sub Command1_Click()
    Unload Me
End Sub


Private Sub Timer1_Timer()
    RotarTexto Command1
End Sub
		

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

Option Explicit


Declare Function GetWindowTextLength Lib "user32.dll" Alias "GetWindowTextLengthA" _
       (ByVal hWnd As Long) As Long
Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" _
       (ByVal hWnd As Long, ByVal lpString As String, ByVal nMaxCount As Long) As Long
Declare Function SetWindowText Lib "user32.dll" Alias "SetWindowTextA" _
       (ByVal hWnd As Long, ByVal lpString As String) As Long


Public Sub RotarTexto(Boton As CommandButton)
    Dim Longitud As Long    ' Longitud del texto del botón
    Dim Texto As String     ' Texto del botón
    Dim slength As Long     ' Longitud del contenido del texto del botón
    Dim retval As Long


    Longitud = GetWindowTextLength(Boton.hWnd) + 1
    '   Obtenemos la longitud del texto. Recordar que termina en un carácter nulo.
    Texto = Space(Longitud)
    '   Preparamos Texto para recibir todos los caracteres del texto
    slength = GetWindowText(Boton.hWnd, Texto, Longitud)
    '   Obtenemos el texto
    Texto = Mid(Texto, 2, slength - 1) & Left(Texto, 1)
    '   Pasamos el primer caracter del texto al final
    retval = SetWindowText(Boton.hWnd, Texto)
    '   Actualizamos el texto del botón
    '   Si se produce un error en retval tendremos un 0
End Sub
        
Descargar Codigo : SetForegroundWindow.zip

 

VB.NET

Clase

System.Windows.Forms.Form.Text

Aplicaciones: Se puede cambiar el texto de la ventana de una aplicación que no es la nuestra

Ver tambien: GetWindowText

Categoria: Ventanas


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