Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   TListView: el tamaño importa (https://www.clubdelphi.com/foros/showthread.php?t=11141)

arj2000 07-06-2004 12:32:52

TListView: el tamaño importa
 
Buenas a todos los que me lean :)

Me gustaria saber si hay algún modo de que cuando en un TListView inserte un item (o muchos), el cual sea mas largo de lo que la columna era hasta ese momento, éste automáticamente cambie su tamaño al máximo de dicho item. Sé que el autosize de la columna no és porque lo que hace es "autosizear" al tamaño del nombre de la columna, y no al ancho de sus items.

Gracias por adelantado.

weke 07-06-2004 12:54:56

Prueba ha realizar estos pasos, no los he podido probar, pero ya me dices si funciona.

Obtenemos la longitud del nuevo dato que introduces en el listview.

Comparalo con la longitud del campo 'width' de la columna en el que lo vas a insertar.

Si es superior a esta longitud, indicale la longitud la nueva longitud.

Saludos.

arj2000 07-06-2004 13:04:40

Parece weno
 
Es un buen metodo, sip. Ahora no lo puedo probar (toy nl curro) asi que esta pregunta te la hago sin previa prueba:

¿Como cojo el width del item? ¿Con canvas? ¿o te refieres al length del texto?
________

Perdon por no haber leido previamente la guia de estilo. En adelante lo haré conforme a las ordenanzas ;)

Perdon y gracias.

weke 07-06-2004 13:09:45

La propiedad 'width' es un entero, supongo que lo podrás obtener directamente.

Yo también estoy en el curro y no lo he podido probar antes de darte la respuesta, en cuanto tengo un momento te lo pruebo y te digo si es correcta la respuesta.

santana 07-06-2004 13:16:52

Cita:

Empezado por arj2000
toy nl curro

Joven, no me avergüence usted en público. Por tratarse de quien se trata no le voy a aconsejar la lectura de la Guía de Estilo de los Foros, prepárese para que se la recite personalmente en verso :D

Código:

Estoy en el curro
PD: Es mi compañero de trabajo ;). Yo también estoy en el curro :(

Besitos pa tós :o

arj2000 07-06-2004 13:24:51

Gracias weke
 
Cita:

Empezado por weke
La propiedad 'width' es un entero, supongo que lo podrás obtener directamente.

Yo también estoy en el curro y no lo he podido probar antes de darte la respuesta, en cuanto tengo un momento te lo pruebo y te digo si es correcta la respuesta.

Muchisimas gracias por la info/ayuda!

weke 07-06-2004 13:25:39

Ya te lo he podido probar. Es como suponía, se puede obtener directamente el valor de esta propiedad.
Código Delphi [-]
obtener.Text:=inttostr(listview1.Columns[0].Width);

De esta manera obtienes el valor de la propiedad 'width' de la columna 0.

Espero que te sirva.

Saludos.

P.D. Santana, siento mucho haber dicho que estaba en el curro, intentaré que no se vuelva a repetir. Lo siento. Y supongo que te refieres a arj2000 diciendo que es tu compañero de curro. JAJAJAJA. Espero que sepas recitar bien esos versos de la guía de estilo.:D :D

santana 07-06-2004 13:36:31

Cita:

Empezado por weke
P.D. Santana, siento mucho haber dicho que estaba en el curro, intentaré que no se vuelva a repetir. Lo siento

Lo puedes decir, lo podemos decir, podemos llorar todos juntos, jeje.
Es que son muchos años educando al compañero arj2k para que escriba con una caligrafía tan lamentable, desde que se instaló el Delphi 7 en alemán no le reconozco :(:(:(:(

Yo también lo quería probar en casa, pero visto que ya lo has hecho tú no es necesario. Muchisimas gracias por tu ayuda, Weke.

arj2000 07-06-2004 13:39:11

Olle ke llo ezcrivo mull vien
 
Perdon por mi caligrafia: esto es por estar malacostumbrado al messenger (maldito Tio Billy)

weke 07-06-2004 13:56:07

Tranquilo arj2000, a mi también me pasa mucho en el messenger, además soy de ciencias, no me pueden pedir demasiado, pero tenemos que intentarlo por lo menos. JAJAJAJA :D

roman 07-06-2004 16:12:10

Hola, creo que están trabajando de más. La propiedad AutoSize en efecto ajusta el ancho al título de la columna pero prueben poner la propiedad Width de la columna en -1 y verán que el ancho se ajusta automáticamente al ancho de los items conforme insertan nuevos. Al eliminar elementos, no obstante, el ancho no se reajusta en caso de que disminuya el máximo ancho per bastará poner Width en 0 e inmediatamente restaurarlo a -1.

// Saludos

arj2000 07-06-2004 16:15:36

Cita:

Empezado por roman
Hola, creo que están trabajando de más. La propiedad AutoSize en efecto ajusta el ancho al título de la columna pero prueben poner la propiedad Width de la columna en -1 y verán que el ancho se ajusta automáticamente al ancho de los items conforme insertan nuevos. Al eliminar elementos, no obstante, el ancho no se reajusta en caso de que disminuya el máximo ancho per bastará poner Width en 0 e inmediatamente restaurarlo a -1.

// Saludos

Wow, que facil. Gracias tio. De todas formas creo que es habitual el complicarse tanto en estas cosas, jejeje!!

Venga hasta luego!


La franja horaria es GMT +2. Ahora son las 02:06:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi