Autor Tema: Usando Tooltips tipo Balloon en VB6.0  (Leído 9832 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Usando Tooltips tipo Balloon en VB6.0
« en: 15 de Enero de 2008, 18:49:28 »
Ante todo quiero agradecer enormemente a Nayan Patel por su artículo How to display balloon style tooltip

Los tooltips son las cajitas amarillas que muestra windows cuando se posa el cursor del mouse sobre un objeto. Desde sus inicios (win95 en adelante) se hace para avisar o dar un mensaje al usuario sobre alguna particularidad  de una manera sencilla y amigable.

a partir de los win con núcleo de 32 bits (NO Win9x) se incluye un estílo diferente de los tooltips, llamados Balloon y son los que comunmente vemos en la barra de tareas cuando se detecta un nuevo dispositivo, se caracteriza por cambiar su forma rectangular a una forma de globo y con un ícono en la parte superior izquierda con un fondo cuasi-amarillo, similar a la de los dialogos de personajes en las revistas de comics

Es posible usar esos balloon en nuestras aplicaciones en VB y así darle un toque artistico y elegante a nuestros programas.

La base de todo esto, es una clase llamada CBalloonToolTip.cls que contiene lo necesario para usar los balloon tooltips.

Nota: los balloon que se muestran en la barra de tareas se programan de otra forma y será mas adelante que se incluya en este hilo

vamos a dar un ejemplo para ver como usar ese tipo de "ventanas"

- abrir un nuevo formulario en vb.

- Incluir (Ctrl+D) el archivo CBalloonToolTip.cls que es el módulo de clase que aglutina toda la programación concerniente al balloon tooltips.

- en el form, crear una variable nueva derivada de la clase CBalloonToolTip. ej.

Código: Visual Basic
  1. Dim ttb_txtmensaje As New CBalloonToolTip

en el procedimiento Form_Load configuramos los parametros que tendrá nuestro Balloon



allí vemos varias propiedades, de acuerdo a las que estudié, son:

.BackColor

Color del fondo del Balloon, es conocido, pongamosle azul

.Centered

booleano que indica que el balloon apunta al centro del objeto en el que se instancia
vamos a dejarlo en true por los momentos

nota:
instanciar significa que se le pasará el manejador ó número identificador de objeto (hWnd)


.DelayTime

el tiempo en ms que tardará en aparecer cuando se active el evento

.ForeColor

el color de la letra, sino colocamos nada, quedará por defecto negro

.Icon

el ícono que se mostrará. hay 4 tipos: el de error, advertencia, mensaje y sin ícono.

.Style

el que nos dirá si queremos la cajita amarilla ó el balloon

.Title

el título del mensaje

.TipText

el mensaje a mostrar

.VisibleTime

el tiempo en milisegundos que durará antes de desaparecer.


.CreateToolTip

recoge el manejador del objeto en cuestión (si es que el objeto en visual posee esa propiedad hWnd)

.Show

sirve para mostrar el balloon en el área que queramos, para ello .Centered = false

.Destroy

muy importante para eliminar la ventana al descargar el formulario


un ejemplo:

Código: Visual Basic
  1. ' manjeando los Balloon ToolTips
  2. '
  3. Option Explicit
  4. Dim ttb_txtmensaje As New CBalloonToolTip
  5.  
  6. Private Sub Form_Load()
  7.     With ttb_txtmensaje
  8.         .Style = TTBalloon
  9.         .Icon = TTIconInfo
  10.        
  11.         .Title = "Titulo"
  12.         .TipText = "Holas :D"
  13.        
  14.         .BackColor = vbRed
  15.         .ForeColor = vbYellow '
  16.        
  17.         .Centered = True
  18.        
  19.         .DelayTime = 300
  20.         .VisibleTime = 50000
  21.        
  22.        '.Show 0, Text1.Height / Screen.TwipsPerPixelX - 1, Me.Text1.hwnd      '//In Pixel only
  23.        .CreateToolTip Text1.hwnd
  24.        
  25.     End With
  26. End Sub
  27.  
  28. Private Sub Form_Unload(Cancel As Integer)
  29.     ttb_txtmensaje.Destroy
  30. End Sub

las ventanas generadas del ejemplo:


















Notas:

- para ejecutar correctamente el ejemplo deben incluir en el proyecto (Ctrl+D), el archivo CBalloonToolTip.cls que lo pueden bajar en la misma página del artículo

http://binaryworld.net/Main/Articles/Lang1/Cat268/Code3603/code3603.zip

- si miran dentro de CBalloonToolTip.cls todo está hecho a punta de APIS, bien chevere, quiere decir que con poco esfuerzo podemos portar esas estructuras  a otros lenguajes (ej C Builder) espero poder hacerlo algún dia.

« Última modificación: 15 de Enero de 2008, 18:54:40 por PalitroqueZ »
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Usando Tooltips tipo Balloon en VB6.0
« Respuesta #1 en: 23 de Enero de 2008, 17:23:41 »
Lean esto, es gracioso. En AutoIT existe una función que cumple lo que hace CBalloonToolTip.cls

Código: Visual Basic
  1. ; This will create a tooltip in the upper left of the screen
  2. ToolTip("Mensaje del tooltip", 400, 300,"Titulo del tooltip",1,1)
  3. Sleep(2000)     ; Sleep to give tooltip time to display


es decir, tenemos una línea de programación contra 5 paginas. hay que ver lo que es querer reventarse la cabeza pensando jajaja

si vieran la lista de instrucciones que trae el Autoit se sorprenderian bastante.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Usando Tooltips tipo Balloon en VB6.0
« Respuesta #2 en: 23 de Enero de 2008, 19:49:29 »
Hola Pedro, muy interesante, ya me pongo a probarlo  :mrgreen:
solo conocia el tooltips normal....

Un abrazo
Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...