Función API SendMessage en PowerBuilder[1]
Introducción
Llamar inteligentemente a la función API SendMessage en Powerbulider puede completar algunos métodos convencionales y funciones difíciles de implementar en Pb, y el uso de la función api en Powerbuilder se utilizará en el ejemplo Varios aspectos en él tienen el efecto de inspirar a otros (el siguiente código puede usar completamente la función Enviar en PowerBuilder en lugar de la función SendMessage AI). (El siguiente código puede usar completamente la función Enviar en lugar de la función SendMessage Api en PowerBuilder, porque el borrador tiene prisa y el código no ha sido probado)
Descripción de la función de la Parte 2
Descripción de la función SendMessage
Descripción
Llama a la función de ventana de la ventana y envía un mensaje a la ventana. La función no regresa a menos que se procese el mensaje. SendMessageBynum SendMessageByString es la forma de declaración de tipo seguro de la función
El valor de retorno
está determinado por la longitud del mensaje.
Lista de parámetros
Tipo y descripción del parámetro
hwnd Long El identificador de la ventana para recibir el mensaje
wMsg Long El identificador del mensaje
wParam Long depende del mensaje
lParam Any depende del mensaje
La función SendMessageBynum es la forma de declaración de tipo seguro de la función. Powerbuilder utiliza la función Enviar para encapsular la función Enviar
Prototipo de función Enviar (maneja mensaje# lowword long)
Descripción de la función Enviar
Descripción
Llame a la función de ventana de la ventana para enviar un mensaje a la ventana. La función regresa solo después de que se procesa el mensaje
Valor de retorno
El largo depende del mensaje
Lista de parámetros
Tipo y descripción de parámetro
handle Identificador largo de la ventana que recibe el mensaje
message# Identificador de mensaje largo
lowword El largo depende del mensaje
lowword Palabras largas y bajas.
lowword Mensaje largo específico
mensaje largo específico
Ejemplo de aplicación
Definir declaración de referencia de función externa
función larga SendMessage (¿larga? hwnd As Long Long wMsg long wParam long lParam) DLL de usuario de biblioteca Alias para?SendMessageA
función long ReleaseCapture()? DLL de usuario de biblioteca
Definir variables de instancia
Largo constante LB_ITEMFROMPOINT =
Largo constante HTCAPTION =
Largo constante WM_NCLBUTTONDOWN =
Largo constante EM_GETLINE =
Largo constante EM_GETLINECOUNT =
p>Constante larga EM_GETLINECOUNT =
Constante larga EM_GETLINE =
Constante larga TVM_SETITEMHEIGHT =
Constante larga EM_LINESCROLL =
Constante larga EM_LIMITTEXT=
Detectar la posición del elemento cuando el mouse se mueve en el cuadro de lista
Powerscript:
Escribe lo siguiente en el evento personalizado ue_mousemove (pbm_mousemove) del cuadro de lista Código
pos = unitstopixels(parent pointerx() XUnitsToPixels!) unittopixels(parent pointery() yUnitsToPixels!)*
idx = SendMessage(handle(this ) LB_ITEMFROMPOINT pos) Si idx lt ; Entonces sle_ Text = lb_ text(idx)
Encuentra elementos coincidentes en el cuadro de lista
Powerscript:
Evento de apertura de ventana lishixinzhi/Article/program/ PB/201311/24597