Page 1 of 1

Como poner varias lineas en un tooltip

PostPosted: Thu Sep 21, 2006 3:05 am
by Enrrique Vertiz
Saludos, puede que sea algo sencillo, pero no tengo idea de como se hace en xHarbour, necesito presentar un tooltip, que tiene como 7 lineas de informacion, claro Yo debo poder controlar el cambio de linea, que me imagino se hace con +CHR(13)+CHR(10)+ pero no lo hace (en FW 16 bits si lo hacia)
Gracias

PostPosted: Thu Sep 21, 2006 9:50 pm
by R.F.
objeto: cToolTip := "primera linea"+CRLF+"segunda linea"+CRLF+"otra mas"

PostPosted: Fri Sep 22, 2006 4:01 pm
by Enrrique Vertiz
Rene, muchas gracias por contestar, pero no funciona, el recuadro no respeta los CRLF que sugieres ponga y hace el saldo de linea mucho antes, presentando un mensaje con un monton de lineas y muy poco legible
Saludos

PostPosted: Fri Sep 22, 2006 4:13 pm
by Manuel Aranda
Efectivamente, amigos, en FVH no funcionan los tooltip como en FW, aparecen todos con la misma anchura ignorando los CRLF, a menos que haya algún otro parámetro que estemos ignorando.
Al hilo de la cuestión, como se implementan los tooltip tipo ballom como en la toolbar?

Saludos,
Manuel Aranda

PostPosted: Sat Sep 23, 2006 6:11 am
by Antonio Linares
Manuel,

FWH usa los tooltips nativos de Windows. Habrá que investigar como hacerlos multilínea.

Para que aparezcan tipo balloon tienes que descomentar este último parámetro en source\classes\window.prg:

hWnd = CreateToolTip( Self:hWnd, cToolTip ) // , .t. ) for ballon tooltips !

PostPosted: Sat Sep 23, 2006 6:18 am
by Antonio Linares
Manuel,

Para hacerlos multilínea hay que llamar a esta función despues de la llamada a CreateTooltip() en source\classes\window.prg:

#define TTM_SETMAXTIPWIDTH 1048

SendMessage( hWnd, TTM_SETMAXTIPWIDTH, 0, 80 )

80 es variable e indica el ancho máximo permitido del tooltip. A partir de ese ancho, el texto del tooltip se dispone en múltiples líneas basándose en los espacios en el texto, no en CRLF.

PostPosted: Sun Sep 24, 2006 9:08 pm
by Manuel Aranda
Gracias Antonio por tus indicaciones. Funciona perfecto. :)