Sección de controles Ocx para Visual basic , Dll , Activex
<Volver> - Anterior - Siguiente
cImageButton es un módulo de clase muy útil para poder asignar y establecer íconos a los controles CommandButton cuando se utiliza la aplicación con un archivo .Manifest.
El módulo no necesita referencias, ni siquiera el windows CommonControls para uso del ImageList, ya que utiliza el api ImageList_Create y otras relacionadas, contenidas en la librería comctl32.dll utilizadas para asociar los gráficos para el botón.
Autor : Leandro Ascierto
Capturas de pantalla
Para poder establecer las imágenes a los Command Buttons se debe crear una instancia de la clase para cada uno de los botones. (Se puede declarar un array de la clase para que se mas cómodo.)
Luego tiene dos funciones, la función Init para iniciar e indicarle el tamaño del icono. Si no se indica este argumento se cargará la imagen de 16x16 pixeles. Luego con el método Implement, se le debe indicar dos parámetros obligatorios: El hwnd del botón, y el path de la imagen normal.
Option Explicit ' declarar instancia Dim cImgB As New cImageButton Private Sub Form_Load() With cImgB ' cargar imagen de 32 pixeles Call cImgB.Init(32, 32) ' pasar el handle y la ruta Call .Implement(Command1.hwnd, "Ruta del archivo de ícono") End With End Sub
Los demás parámetros opcionales son para las demás imágenes ( MousOver, MouseDown y deshabilitado) , para los márgenes , y para la alineación del ícono en el botón. Si se quiere cargar el ícono desde un archivo de recursos, de debe pasar en el último parámetro el valor True, y en el parámetro "Normal" el identificador del recurso.
Nota : El ejemplo tiene algunos fallos, por ejemplo si se ejecuta desde el IDE y no se encuentra los temas de windows presentes, los botones deshabilitados, no se redibujan bien ( aunque este no sería un problema y que ocurre solo desde el IDE)
Aunque si se ejecuta compilado, se ve correctamente los botones deshabilitados, pero si se utiliza texto superpuesto con la imagen , el fondo del texto no se muestra con la transparencia,( como se ve en esta imagen )
Otra cosa es que si se utilizan varias imágenes para los distintos estados del mouse, solo funcionará si se encuentra activado el tema de windows, ya que si no solo se visualizará la imagen normal por mas que se hayan indicado las demás en la función Implement.
Buscar en Recursos vb con Google
Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 - www.recursosvisualbasic.com.ar