¿Cómo puedo poner ToolTip a cada item de un Combobox?

Post Reply
User avatar
Canarias
Posts: 35
Joined: Thu Oct 06, 2005 10:00 pm
Location: Canary Islands - Spain

¿Cómo puedo poner ToolTip a cada item de un Combobox?

Post by Canarias »

Hola a todos, pues eso... aunque me explico:

Tengo varios Combobox seguidos en una línea de pantalla definida en RWS, pero en ellos sólo sólo hago que se vean sólo los tres dígitos de cada item, aunque si lo alargara más en el RWS se vería tambien lo que contínua, pero entonces no me cabrían todos los Combobox en la misma línea.

Por ejemplo, cada item tiene el siguiente contenido:

123 - VACACIONES PARA SIEMPRE
321 - QUE ME TOQUE LA LOTERÍA
000 - FIN

La anchura del Combobox sólo la he ajustado a que se vean los tres primeros dígitos, y lo que pretendo es que a medida que con las teclas de cursor se vaya uno moviendo arriba o abajo se vaya viendo el resto del literal del código a través de un ToolTip.

He estado buscando en la Guía de Comandos si COMBOBOX tuviera la posibilidad de poner ToolTip, pero no figura esta posibilidad (yo por lo menos no la veo ni en los DEFINE ni en los REDEFINE.

He intentado poner en el REDEFINE un:
...
ON CHANGE (oCbx[23]:ToolTip("ESTO ES UNA PRUEBA"));
...

pero me sale el siguiente error:

Error description: Error Objects/6 No Exp. Method: TCOMBOBOX:TOOLTIP

Stack Calls
===========
Called from TCOMBOBOX:TOOLTIP(0)
Called from (b)MAINTRA01(198)
Called from TCOMBOBOX:CHANGE(0)
Called from (b)TCOMBOBOX(0)
Called from (b)TCOMBOBOX(0)

¿Sería posible hacerlo? ¿cómo?

FW+Clipper 5.2e+Blinker

Un saludo.
DanielPuente
Posts: 108
Joined: Sun Oct 09, 2005 6:12 pm
Location: Mar del Plata - Argentina
Contact:

Post by DanielPuente »

Canarias:

No podes hacer oCbx[23]:ToolTip("ESTO ES UNA PRUEBA") porque el combobox no tiene metodo ::Tooltip(). Lo que si tiene es variable de instancia ::cTooltip, por lo que perfectamente podes hacer algo como esto:

REDEFINE COMBOBOX oTemporada VAR cTemporada ITEMS aTemporada ID 111 OF oFld:aDialogs[1] ON CHANGE cTemporada:cTooltip:=cTemporada

Saludos,
Daniel Puente
Mar del Plata, Argentina
danielpuente@speedy.com.ar
puenteda@hotmail.com
User avatar
Canarias
Posts: 35
Joined: Thu Oct 06, 2005 10:00 pm
Location: Canary Islands - Spain

Post by Canarias »

Daniel:

Muchas gracias por tu rápida respuesta. Estaba algo perdido por lo que ves.

Lo estoy probando ahora pero he tenido que realizar, poniendo tu mismo ejemplo, la siguiente modificación

Segun tu ejemplo:
REDEFINE COMBOBOX oTemporada VAR cTemporada ITEMS aTemporada ID 111 OF oFld:aDialogs[1] ON CHANGE cTemporada:cTooltip:=cTemporada

Pero me daba error, así que el ON CHANGE tuve que cargar a oTemporada la VARiable cTemporada, quedando de esta forma:
ON CHANGE oTemporada:cTooltip:=cTemporada, y ya no me da error.

El problema ahora es que para que se vea el ToolTip, hay que situar el puntero del ratón en la parte principal del combobox, y aunque vayas cambiandote a través de las teclas de cursor item por item, de los distintos items del combobox desplegado, no se actualiza y siempre mantiene el el primer tooltip que tomó cuando se pudo el ratón sobre la parte principal del Combobox (la parte de arriba), salvo que vayas nuevamente con el ratón y lo sitúes en la parte principal del combobox.

Lo que yo pretendo es que moviendote con las teclas de cursor a través del combobox desplegado, se pueda ir viendo los tooltip del contenido literal de los distintos códigos a medida que te mueves por los disintos items del combo desplegado.

Es como cuando estás en el Explorador de Windows, que te vas moviendo con las teclas del cursor por cada uno de los ficheros y te va apareciendo el tooltip con una información sobre el fichero.

Lo mismo pido mucho, pero me imagino que esto se podrá hacer...

Siento el 'rollo'.

Un saludo.
DanielPuente
Posts: 108
Joined: Sun Oct 09, 2005 6:12 pm
Location: Mar del Plata - Argentina
Contact:

Post by DanielPuente »

Canarias:

Ahi ya se complica, porque el tooltip esta asociado al movimiento del mouse sobre el control. La unica forma seria si se pudiera forzar el repintado del tooltip y que este permanezca activo aun cuando el mouse no este sobre el combo. Estuve haciendo algunos intentos pero no tuve exito.

De todas maneras, porque queres usar si o si los combobox achicados en su ancho, porque no usas gets o los combobox con el ancho necesario, cuantos controles tenes en el dialogo ?.

Saludos,
Daniel Puente
Mar del Plata, Argentina
danielpuente@speedy.com.ar
puenteda@hotmail.com
User avatar
Canarias
Posts: 35
Joined: Thu Oct 06, 2005 10:00 pm
Location: Canary Islands - Spain

Post by Canarias »

Daniel:

Agradecidisimo de nuevo por contestarme.

La pantalla ya se encuentra diseñada, validada y aprobada, pero tenemos el problema que se tienen que visualizar en el combo aproximadamente unos 30 items en cada combobox (son 10 combos pero hay muchos más datos que se traen de una BD.

Por ahora no tenemos previsto realizar un nuevo cambio del diseño de pantalla, pues requeriría nuevamente reunir a 9 usuarios y se puee eternizar el tema.

Seguiré viendo como díablos puedo obtenerlo, aunque mis conocimientos no son muchos si hay que meterse en POO.

Por otro lado, el tooltip se me queda detrás del Combo abierto y no se alinea con la parte derecha del final del literal del combobox.

Me imagino que 'machacando' podrá salir, o bien que ya le haya pasado a alguien más y quiera compartir la solución a este tema.

En fin, paciencia...

Un saludo.
Post Reply