Mar 032010
 

Control de usuario para poder escribir direcciones de correo de una forma muy sencilla tal como la que utiliza el correo de Hotmail, cuenta con una lista desplegable con las posibles sugerencias del Nombre, Apellido y Email de los contactos a quienes queremos escribir. El control valida cada dirección de correo ingresada, de no ser correcta la marca en rojo. Este control también sirve para crear una lista de archivos adjuntos.
El UserControl depende de dos controles de usuario más y un módulo Clase, cuenta con las opciones básicas y algunos eventos que creo que son los suficientemente necesarios para un uso común, es código abierto cualquiera lo puede adaptar a su necesidad.

Email Control

Aquí en la captura se muestra cómo la lista nos va sugiriendo cual de nuestros contacto queremos escribir.

Lista de sugerencias

Nov 222009
 

Control de Usuario para autocompletar un TextBox (o ventana «Edit»), a medida que vamos escribiendo en ella se carga una lista con todas las sugerencias, por ejemplo en una base de datos tenemos un listado de usuarios y tenemos que escribir en un TextBox un usuario, entonces al tipear «J» nos mostrará una lista que aparecerá debajo de la caja de texto con todos los usuarios que comiencen con dicha letra.
No sólo funciona con TextBox sino con toda ventana que utiliza la clase «Edit» dentro de ella.
Tiene tres formas de autocompletado «Append» autocompleta con la primer coincidencia, «Suggest» despliega una lista con todas las coincidencias encontradas y «AppendSuggest» las dos primeras juntas.
Traté de simular la lista tal como la que utiliza Windows con el api SHAutoComplete de la dll shlwapi.dll.

AutoCompletar TextBox

Nov 172009
 

Control de Usuario de que utiliza la clase SysMonthCal32 para crear un Calendario tal como que utiliza el Microsoft Windows Common Controls OCX de la versión 26.0, lo bueno de utilizar este UserControl es no tener que depender del OCX que muchas veces nos encontramos con que queremos utilizar este control y tenemos que recurrir si o si al OCX por sólo un control. Además este trae como ventaja que sí se le pueden aplicar los estilos visuales de Windows ya que con el OCX siempre mostraba el aspecto de Windows 98.
Las propiedades son prácticamente iguales al del M$ Common Controls excepto la de poder poner los días en negritas, no pude encontrar la forma de que funcione, también me trajo algunos problemas de compatibilidad en XP y en Vista. ya que al parecer la clase de por si tiene sus propias fallas.

SysMonthCal32

Nov 082009
 

Este es un Control de Usuario que utiliza la clase SysDateDimePick32 para crear un DTPicker tal como es el Microsoft Windows Common Controls OCX de la versión 26.0, éste sirve para seleccionar la fecha y hora, lo bueno de utilizar el UserControl es no tener que depender del OCX, muchas veces nos encontramos con que tenemos que trabajar con fechas y horas y tenemos que recurrir si o si al suite completa del OCX por sólo un control. Además este trae como ventaja que se pueden aplicar los estilos visuales de Windows ya que con el OCX siempre mostraba el aspecto de Windows 98. Junto al UC está lla clase clsSubClass, la cual sirve para capturar el evento Chage, no incluí ésta dentro del UC porque tengo como idea en un futuro crear una suite con varios de estos controles y sería conveniente mantenerlos por separado para no repetir código.

ucDateTime

Oct 262009
 

Se trata de dos controles de usuario realizados por Cobein los cuales me han gustado mucho y con su permiso los publico aquí, como sus nombres bien lo dicen uno es para mostrar imágenes de todo tipo PNG, ICO, GIF, JPG, Etc. inclusive darle efectos de brillo, rotación en todos los sentidos, transparencia, escala de grises, contraste. Y el otro es un ImageList (para los que no saben de que se tratan los ImageList, son controles donde se almacenan una lista de imágenes para luego poder aplicarlas en otro control), este también tiene soporte para todos los tipos de imágenes antes mencionadas.
Para los que ya conocían este control se ha solucionado el problema que tenía en el incremento progresivo del uso de la memoria. También le he agregado una propiedad para reconocer las regiones de la imágen (Créditos a LaVolpe) y una función para poder mostrar imágenes desde la web (incluye progreso de carga).

ucImage y ucImageList

Oct 212009
 

Este es un Control de Usuario que permite listar todas las imágenes dentro de una carpeta o subcarpetas con un parecido al que utiliza Windows pero con algunas opciones extras para poder personalizarlo a gusto.
Las imágenes no las carga en la memoria sino que las va leyendo cada vez que se desliza hacia otra imágen, esto tiene como ventaja ahorrar el uso de la memoria y como desventaja más consumo del procesador (sólo en el momento en que carga las imágenes).
Algunas propiedades de este control nos permite elegir una selección personalizada, un marco personalizado, color de borde, texto con sombra, entre otras.
También cuenta con un ToolTip con la información de la imágen (este requiere que estén habilitados los temas de Windows en el proyecto).

ImageSlide

Sep 202009
 

Este es un control de usuario que sirve para mostrar íconos de 32 bits, quizás este control sea una forma de poder facilitar a los que se inician, ya que para los que tienen experiencia con el uso de las Apis con unas pocas líneas de código se podría evitar usar este control.
El ícono se almacena en forma binaria (comprimida) dentro del control, por lo que no necesitamos cargarlo desde un archivo o recurso. También cuenta con una página de propiedades donde el ícono se puede extraer desde un archivo .ico o desde un recurso de una librería o ejecutable.
Los íconos extraídos los enumera en una lista donde podemos elegir cuál de ellos utilizar, además cuenta con un pequeño filtro para estas imágenes donde podremos darle transparencia, brillo o convertirlo en escala de grises (esto sólo disponible en tiempo de diseño).
En tiempo de ejecución se le puede pasar el handle de un ícono o leer desde archivos o recursos.
Vale aclarar que gran parte del proyecto es un rejunte de códigos donde detallo claramente los créditos a los autores.

Alpha Icon 32 bits