Ejemplos usando el Api de windows para Visual basic

178 - Obtener íconos de los MsgBox y otro ejemplo para cargar iconos de 32 bits mediante el api Load image y DrawIconEx

<Volver> - Anterior - Siguiente



 

 

Ejemplo que utiliza las funciones api LoadImage y DrawIcon , para recuperar los íconos de los MsgBox

 

Lo siguiente puede ser útil cuando se quiere hacer un MsgBox propio o personalizado, y muestra como usar la función LoadImage para leer el ícono que se quiere usar, y luego dibujarlo con el Api DrawIcon en el formulario que actúa como MsgBox

Para dibujar el ícono primero se lee con LoadImage. Esta función tiene una seria de parámetros, el que importa es el segundo parámetro. En este, debemos indicar que ícono vamos a dibujar. Por ejemplo si le pasamos como valor 32514 se obtiene el ícono de pregunta o Question

vista del ícono 1

 

Si pasamos el valor 32515 el ícono de alerta

vista del ícono 2

 

Para el ícono de Información el valor 32516

vista del ícono 3

 

Para el ícono Critical el valor 32513

vista del ícono 4

 

Una ves ejecutada la función LoadImage, esta Api retorna un puntero a dicha imagen. Con este Handle, se dibuja en un Hdc, en este caso otro formulario ( El objeto debe tener propiedad Hdc Form o PictureBox por ej)

ret = DrawIcon(El hdc del Objeto, Posición x del Icono, Posición y del Icono, Handle del Icono obtenido con LoadImage )

 

Nota: la función LoadImage, además de cargar como en este caso íconos, puede cargar cursores y mapas de bits. Para eso debemos indicar en el tercer parámetro los siguientes valores : IMAGE_ICON ( Carga un ícono ), IMAGE_CURSOR ( Cargar un cursor ). IMAGE_BITMAP para cargar un mapa de bits. Las constantes para dichos valores, las podés obtener desde el visor de apis de visual basic o también desde el Api Viewer - visor de api

 

Ejemplo

 

El siguiente ejemplo lo que hace es, al presionar un Command1 que está en un Form1, abrir un formulario2 tipo MsgBox

 

vista del los formulariode ejemplos para hacer el msgbox

 

El formulario 2 que actúa como MsgBox, debe tener un control Label para mostrar el texto del MsgBox, es decir el Prompt

También el formulario 2 debe tener la propiedad BorderStyle en 1 y la propiedad StartUpPosition en CenterScreen o CenterOwner

Nota: faltaría el código restante para los botones

 

Código en el formulario 1 con un Command1

 

 

Código fuente en un módulo bas

 

 


Otro ejemplo que usa LoadImage para cargar íconos de 32 bits en controles

 

Este proyecto usa la Api LoadImage junto con DrawIconEx.

La primera función lee unos íconos de 32 bits que se encuentran en la carpeta del proyecto. y luego dibuja las imágenes mediante DrawIconEx en un Hdc temporal, en este caso en un picturebox, y estas se añaden en tiempo de ejecución a un control imagelist que luego se asocia a un control toolBar

 

vista previa del proyecto

 

Descargar ejemplo

 

Este es el mismo pero se puede indicar el tamaño. 16 , 32 y 48

Vista previa

 

Descargar proyecto

 

Acá se cargan en unos Commandbuttons con el Style en Graphical, y se le indica el color de la máscara. ( fondo del picture donde se dibujan = BackColor del Commandbutton )

 

 

Descargar

 


Recursos visual basic - Enlaces relacionados



Buscar en Recursos vb