VBasicFacil

Principal - Enlaces - Código - Controles - API


Función SendMessage

Declaración

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Plataformas

Descripción

Envía un mensaje a una ventana para ser procesada por la función de ventanas de Windows. Esta función no retorna hasta que es procesado el mensaje; a diferencia de la función PostMessage que envía el mensaje a la cola de mensajes y no espera por el resultado.

Parámetros

hWnd Manejador de la ventana a la que se le envía el mensaje. Si el manejador es HWND_BROADCAST, el mensaje se envía todas las ventanas de alto nivel.

Msg Identificador del mensaje enviado.

wParam Datos adicionales del mensaje. Depende del mensaje.

lParam Datos adicionales del mensaje. Depende del mensaje.

Constantes

Const HWND_BROADCAST = &HFFFF

Valor de retorno

Depende del mensaje.

Ejemplo

Buscar un item en un ListBox según se va tecleando.

Formulario (Contiene un ListBox y un TextBox)

Option Explicit


Private Sub Form_Load()
    With List1
        .AddItem "Lunes"
        .AddItem "Martes"
        .AddItem "Miercoles"
        .AddItem "Jueves"
        .AddItem "Viernes"
        .AddItem "Sabado"
        .AddItem "Domingo"
    End With
End Sub

Private Sub Text1_Change()
    ' Busca el día de la semana en el el ListBox
    List1.ListIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal CStr(Text1.Text))
End Sub	

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

Option Explicit


Public Declare Function SendMessage _
        Lib "user32" Alias "SendMessageA" _
       (ByVal hwnd As Long, _
        ByVal wMsg As Long, _
        ByVal wParam As Integer, _
        ByVal lParam As Any) As Long

Public Const LB_FINDSTRING = &H18F        
Descargar Codigo : SendMessage.zip

 

Aplicaciones: Tiene tantas aplicaciones como identificadores de mensajes, por lo que se verán al explicar cada mensaje

Ver también:

Categoría: Mensajes


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