Página 1 de 1
Cambiar el color del tooltip
Publicado: Mié Sep 11, 2013 11:14 am
por vgest
Existe alguna forma de cambiar el color de fonod de los tooltip?
Por ejemplo, para qeu aparezcan con el tipico amarillo de toda la vida
Cambiar el color del tooltip
Publicado: Mié Sep 11, 2013 12:35 pm
por joselalinf
Victor,
el color de las tooltip lo asigna el sistema según el tema/esquema de color
que tengas configurado.
Hay un truco que permite cambiar su color desde la aplicación pero no creo
que funcione en todas las versiones del SO y va a causar otro problema: las
tooltips que muestre Xailer saldrán en los colores que se establezcan y las
que muestre el sistema, por ejemplo, las de una TToolbar saldrán con el
color del sistema.
Si de todas formas quieres probarlo, dímelo y luego te indico cómo hacerlo.
Saludos,
José Lalín
Cambiar el color del tooltip
Publicado: Mié Sep 11, 2013 2:11 pm
por vgest
Gracias por tu contestación.
Se trata de igualar en una ventana los tooltips que muestra otro componente (amarillos) con los de un toolbar de xailer (blancos)
Si hay un truco, te lo agradecería muchísimo, ya que para este caso en concreto seria muy util.
Saludos
Victor
Cambiar el color del tooltip
Publicado: Mié Sep 11, 2013 7:10 pm
por joselalinf
Victor
> Si hay un truco, te lo agradecería muchísimo, ya que para
> este caso en concreto seria muy util.
en el evento FormInitialize del form principal o en la función de inicio de
la aplicación:
#include "commctrl.api"
SendMessage( Application:oTooltip:Handle, TTM_SETTIPTEXTCOLOR, clWhite )
SendMessage( Application:oTooltip:Handle, TTM_SETTIPBKCOLOR, clBlack )
Si quieres que los balloons también se muestren con otro color:
SendMessage( Application:oBalloon:Handle, TTM_SETTIPTEXTCOLOR, clWhite )
SendMessage( Application:oBalloon:Handle, TTM_SETTIPBKCOLOR, clBlack )
Saludos,
José Lalín
Cambiar el color del tooltip
Publicado: Jue Sep 12, 2013 5:41 pm
por vgest
Muchas gracias, probare este camino.
Otra solucion, mejor incluso, seria poder mostrar el propio tooltip de Xailer por programa, asociandolo al handle de ventana del componente externo(No creado con xailer).
¿Es posible esto?
Hemos probado a añadir a la clase TToolTip un metodo similar al original AddTool(), pero pasandole un handle y un texto en lugar de un control, pero no funciona.
Cambiar el color del tooltip
Publicado: Vie Sep 13, 2013 12:23 pm
por joselalinf
Victor,
> ¿Es posible esto?
> Hemos probado a añadir a la clase TToolTip un metodo
> similar al original AddTool(), pero pasandole un handle y un
> texto en lugar de un control, pero no funciona.
cada handle pertenece al "espacio" de la aplicación que lo crea y nocreo
que sea posible hacerlo.
Aún no me queda claro el problema: si el componente no muestra el color
estándar deberías notificar al fabricante para que lo solucioney te envíe
la corrección y si no, usando la solución que te digo, puedes cambiar los
colores en la aplicación Xailer para que se vean igual.
Saludos,
José Lalín
Cambiar el color del tooltip
Publicado: Vie Sep 13, 2013 12:46 pm
por vgest
Quizas estoy liando la cosa. Es mucho mas sencillo: Se pueden desactivar facilmente los tooltips del componente externo. Una vez hecho eso, la cosa se reduce a ser capaz de mostar un tooltip de xailer, dentro de la misma aplicacion, en el lugar y momento adecuado, controlando mensajes WM_MOUSEMOVE. Todo esto ya funciona.
El problema, es que lo mas sencillo a primera vista, mostrar un tooltip de xailer en unas coordenadas determinadas de la pantalla no hay forma de hacerlo: No aparece el tooltip. Ese es realmente el problema
Cambiar el color del tooltip
Publicado: Vie Sep 13, 2013 1:10 pm
por joselalinf
victor
> El problema, es que lo mas sencillo a primera vista, mostrar
> un tooltip de xailer en unas coordenadas determinadas de la
> pantalla no hay forma de hacerlo: No aparece el tooltip. Ese
> es realmente el problema
¿cómo la estás mostrando? Prueba con algo así:
SetWindowPos( oTooltip:Handle, oParent:Handle, x, y, 0, 0, nOR( SWP_NOSIZE,
SWP_NOZORDER, SWP_NOACTIVATE ) )
En oParent:Handle debes pasar el handle del formulario padre.
Saludos,
José Lalín
Cambiar el color del tooltip
Publicado: Vie Sep 13, 2013 1:51 pm
por vgest
He probado esto, pero no aparece el ToolTip.
Si lo fuerzo con showWindow(hToolTip, 1) aparece, pero sin texto.
Creo que falta algo, porque habra de asociar el tooltip con la ventana o con un control.
Lo he intentado asi:
Application:oToolTip:AddTool( ::Handle,, ::oToolBar1:Handle )
Y luego se intenta mostar como dices:
SetWindowPos( Application:oTooltip:Handle, ::Handle, x, y, 0, 0, nOR( SWP_NOSIZE,
SWP_NOZORDER, SWP_NOACTIVATE ) )
Pero tampoco aparece. Debe faltar una tonteria que se me escapa
Cambiar el color del tooltip
Publicado: Lun Sep 16, 2013 8:29 pm
por joselalinf
Victor,
> Application:oToolTip:AddTool( ::Handle,, ::oToolBar1:Handle
Los parámetros de AddTool son estos: METHOD AddTool( oControl, aZone, nId
), quizás por eso está fallando.
Pensándolo bien, si vas a forzar a que aparezca una tooltip cómo y cuando
quieras, ¿porqué no usas un TForm y así puedes hacerle todas la virguerías
que quieras? Le pones el estilo nBorderStyle a bsNONE, añades un TLabel con
lAutoSize a .T. para el texto con color de fondo el color de la tooltip y
ajustas el tamaño del form al del TLabel antes de mostrarlo.
Saludos,
José Lalín