¿Qué es API en la programación VB?
Esperamos su apoyo:)
API (Interfaz de programadores avanzados) (Nota: API en realidad se refiere a Interfaz de programación de aplicaciones, Interfaz de programación de aplicaciones; se sospecha que es original error, pero también se puede decir en VB! es un conjunto de funciones predefinidas de Windows que controlan la apariencia y el comportamiento de varias partes de Windows (desde la apariencia del escritorio hasta la memoria asignada a nuevos procesos). Cada acción del usuario desencadena la ejecución de una o más funciones de este tipo para que Windows comprenda lo que está sucediendo.
Esto es como código natural para Windows en algunos aspectos. Otros lenguajes simplemente proporcionan una forma más sencilla de automatizar el acceso a la API. VB ha trabajado mucho en este ámbito. VB ha trabajado mucho en este ámbito. Oculta completamente la API y proporciona un enfoque completamente diferente para la programación en un entorno Windows.
Esto significa que cada línea de código que escriba en VB será convertida por VB en una función API y pasada a Windows. Por ejemplo, Form1.Print.....VB llamará a la función API TextOut con parámetros específicos (los proporcionados en su código o parámetros predeterminados).
De manera similar, cuando hace clic en un botón en un formulario, Windows enviará un mensaje al formulario (que está oculto para usted), y VB recibirá la llamada y la analizará, generando así un evento específico ( Botón_Clic).
Las funciones API se incluyen en archivos de biblioteca de enlaces dinámicos (como User32.dll, GDI32.dll, Shell32.dll...) en el directorio del sistema de Windows. .
Declaración de API
Como se menciona en "¿Qué es API?", las funciones de API están contenidas en archivos DLL en el directorio del sistema. Puede ingresar las declaraciones de funciones API usted mismo, pero VB proporciona una manera más fácil de usar el visor de texto API.
Para declarar una función API en su proyecto, simplemente ejecute el visor de texto API, abra Win32api.txt (o .MDB si lo ha convertido a una base de datos) y estará listo. Esto acelera las cosas. Nota: El archivo de Microsoft tiene muchas deficiencias. Puede probar la descarga de api32.txt proporcionada por el sitio web), seleccionar "Declaración", buscar la función requerida, hacer clic en "Agregar" y "Copiar" y luego pegarlo en su proyecto. Lo mismo ocurre con el uso de constantes y tipos predefinidos.
Encontrarás algunos problemas:
Supongamos que deseas declarar una función en el módulo de formulario. Péguelo y ejecútelo y VB le indicará un error de compilación..... La declaración de declaración no está permitida como miembro público en una clase u módulo de objeto... Esto se ve mal, pero puede agregar un Privado antes de la declaración. (por ejemplo: función de declaración privada...). .--No lo olvides, esto hará que la función esté disponible solo dentro de ese módulo de formulario.
En algunos casos recibirás un mensaje de "nombre ambiguo" porque la función es una constante o algo así*. Nombre constante u otro dios. Dado que la mayoría de las funciones (tal vez todas las funciones, no lo he comprobado) tienen alias, lo que significa que puede usar un nombre diferente al original a través de una cláusula de alias, por lo que puede simplemente cambiar el nombre de la función y seguirá funcionando.
Puede consultar el tema de ayuda sobre la declaración de VB para obtener instrucciones detalladas sobre los alias.
Mensajes
Ahora que sabes qué son las funciones API, pero también has oído hablar de los mensajes (si aún no has oído hablar de ellos, pronto lo harás), y te preguntas lo que son. Los mensajes son la forma básica en que Windows le dice a su programa qué eventos han ocurrido o para solicitar acciones específicas.
Por ejemplo, cuando un usuario hace clic en un botón, mueve el mouse o escribe texto en un cuadro de texto, se envía un mensaje a su formulario.
Todos los mensajes enviados tienen cuatro parámetros: un identificador de ventana (hwnd), un número de mensaje (msg) y dos parámetros de 32 bits de longitud.
hwnd es el identificador de la ventana que recibe el mensaje, msg es el identificador del mensaje (número). El identificador es el tipo de operación que activó el mensaje (por ejemplo, mover el mouse) y los otros dos parámetros son parámetros adicionales para el mensaje (por ejemplo, la posición actual del cursor al mover el mouse)
Pero ¿por qué cuando te envían el mensaje pero no puedes verlo? Por favor no te enojes, te lo diré.
El ladrón es en realidad Visual Basic. Pero en lugar de robar tu correo, lo lee, selecciona el contenido importante y te lo cuenta de forma amigable. Este enfoque es el evento en el código.
De esta manera, cuando el usuario mueva el mouse sobre su formulario, Windows enviará un mensaje WM_MOUSEMOVE a su ventana, VB obtendrá el mensaje y sus parámetros, y ejecutará su código en el evento MouseMove, VB obtendrá los últimos 32 bits del mensaje (que contiene las coordenadas x,y en píxeles).
En Twip, VB convierte los últimos 32 bits de la información (que contienen las coordenadas x, y en píxeles) en dos números de precisión simple.
Ahora, si necesitas una representación en píxeles de las coordenadas del cursor, VB ya la ha convertido a un Twip, por lo que necesitas volver a convertirla a píxeles. Aquí, Windows le brinda la información que necesita, pero VB "amablemente" la convierte a píxeles, por lo que debe convertirla nuevamente. Quizás te preguntes, ¿no puedo recibir la información yo mismo? La respuesta es sí, puedes utilizar un método llamado subclases. Puede usar un método llamado subclases (Subclassing), pero no use este método a menos que sea necesario, porque va en contra de la programación segura de VB. (Nota: el procesamiento de subclases tiene grandes riesgos, pero si se usa correctamente, sigue siendo muy útil. Sin embargo, se debe tener en cuenta una cosa, es decir, nunca use la función de depuración de puntos de interrupción de VB, de lo contrario, ¡VB podría fallar!)
¿Qué es la subclasificación?
Lo que hay que agregar es: puede enviar mensajes a su propia ventana o a otras ventanas, simplemente llame a SendMessage o PostMessage (SendMessage permitirá que la ventana que recibe el mensaje procese el mensaje inmediatamente, mientras que PostMessage procesará el mensaje inmediatamente. Enviado a una cola llamada cola de mensajes, esperando su procesamiento (volverá después de que se procese el mensaje, por ejemplo con un cierto retraso)). Debe especificar el identificador de ventana para recibir el mensaje, el número de mensaje a enviar (todos los números de mensaje son constantes, que puede encontrar en el visor de texto API) y dos parámetros de 32 bits.