Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Como hacer para que el ancho de una columna de un TListView permanezca inalterable (https://www.clubdelphi.com/foros/showthread.php?t=25713)

abracadabra 30-09-2005 21:29:58

Como hacer para que el ancho de una columna de un TListView permanezca inalterable
 
Hola a todos.
Necesito de vuestra ayuda. Tengo una aplicación que tiene un ListView con cabecera (Listview.ViewStyle=vsReport). Segun los requerimientos de la aplicación es necesario que el ancho de la primera columna no se pueda modificar. He intentado solucionar este problema desde el inspector de objetos, asignando el mismo valor a los atributos MaxWidth, MinWidth y Width de la propiedad Columns del ListView, pero no me da resultado. Además es necesario que el usuario no pueda hacer un drag and drop para modificar el ancho de la columna. Por favor chicos cualquier ayuda será bien recibida. Muchas gracias.

dec 30-09-2005 21:40:17

Hola,

No veo otro modo en que pueda hacerse que dando a la propiedad "Width" de las columnas el mismo valor que para las propiedades "MaxWidth" y "MInWidth". Bueno. Veo otro modo, pero más drástico: no mostrar las cabeceras, estableciendo la propiedad "ShowColumnHeaders" en "false".

dec 30-09-2005 21:43:00

Hola,

Debí haber leído mejor tu mensaje, para llegar aquí:

Cita:

Empezado por abracadabra
He intentado solucionar este problema desde el inspector de objetos, asignando el mismo valor a los atributos MaxWidth, MinWidth y Width de la propiedad Columns del ListView, pero no me da resultado.

Sin embargo, soslayando el "efecto" que aparece que puede dar la impresión al usuario de que puede ensanchar el tamaño de las columnas, en realidad funciona: no es posible hacer más grande ni más pequeño el tamaño de las columnas si las tres propiedades susomentadas tienen el mismo valor. ¿No te funciona a ti esto, dices? ;)

roman 30-09-2005 21:55:52

Cita:

Empezado por dec
si las tres propiedades susomentadas tienen el mismo valor

Cita:

Empezado por www.rae.es
La palabra "susomentar" no está en el Diccionario.

:confused:

// Saludos

vtdeleon 30-09-2005 22:12:57

Creo que se les fue un poquito las letras

si las tres propiedades (suso)- mentadas tienen el mismo valor

dec 30-09-2005 22:18:39

Hola,

Cita:

Empezado por R.A.E.
La palabra "susomentar" no está en el Diccionario.

Es vocablo querido por Don Miguel de Unamuno y Jugo. Dejado en no pocas páginas de varias de sus obras. A lo menos así me ha quedado a mí en la memoria. Y espero mantenerla en parte fresca con sus textos, por cierto. Debe venir de suso y mentar. Este hombre era muy dado a los retrueques de palabras. Su conocimiento del griego, del latín, del español y de otras lenguas debía animarle a ello, entre otras cosas ;)

abracadabra 30-09-2005 22:22:45

Ante todo Dec muchas gracias por tus respuestas.
Bueno, segun la naturaleza de la aplicación, es un requerimiento indispensable que el ListView mantenga visible las cabeceras por lo tanto no puedo dar el valor False a la propiedad ShowColumnHeaders. Con respecto a las propiedades MinWidth, MaxWidth y Width, todas tienen el mismo valor, pero para sorpresa mía las cosas tampoco funcionaron como deseaba, a mi también me parece raro, intente también especificando el valor Autosize en Falso, así tampoco me funciona...:(
Otro problema también es cuando hago un drag and drop para modificar el ancho de columnas estas se modifican cuando segun las propiedades especificadas líneas arriba esto no debería de suceder....:confused:
Otra cosa tambien que me gustaría es que no sea permitido realizar la operación drag and drop ...
Bueno ...., debo seguir investigando, si encuentro alguna solución, la publico.
Una vez más gracias por todo...:)

dec 30-09-2005 22:31:29

Hola,

Lo que se me ocurre es que al iniciarse la aplicación las columnas no tengan la propiedad "Width" ajustada. Me explico, si estas no se encuentran ajustadas el usuario podrá ajustarlas, otrosí, respetándose el ancho mínimo y máximo, en fin, quedándose en el ancho determinado por la propiedad "Width".

Sin embargo, es extraño. Porque si tú seleccionas todas las columnas y estableces un mismo valor para las propiedades de que venimos hablando, al menos a mí, como ya he dicho, no me es posible modificar su ancho en tiempo de ejecución: a lo más aparece el cursor "cambiado" cuando uno se sitúa en alguna de las columnas como si quisiera modificar su ancho: es un efecto que ahora mismo no se me ocurre cómo quitar, pero, ya digo, lo que es el ancho de las columnas no puedo variarlo.

Cita:

Empezado por abracadabra
Otra cosa tambien que me gustaría es que no sea permitido realizar la operación drag and drop ...

No sé bien a qué te refieres con evitar el "drag & drop"... ¿acaso a lo que venimos diciendo del efecto del cursor cuando se trata de modificar el ancho de las columnas? ¿O es quizás a evitar que puedan arrastrarse determinados elementos a la lista? ;)

roman 30-09-2005 22:38:33

Cita:

Empezado por dec
Es vocablo querido por Don Miguel de Unamuno y Jugo

Pues tendré que releer a Unamuno ya que hace muchos, pero muchos años que leí algunas de sus obras.

// Saludos

abracadabra 30-09-2005 22:39:03

Cita:

Empezado por dec
Hola,


Es vocablo querido por Don Miguel de Unamuno y Jugo. Dejado en no pocas páginas de varias de sus obras. A lo menos así me ha quedado a mí en la memoria. Y espero mantenerla en parte fresca con sus textos, por cierto. Debe venir de suso y mentar. Este hombre era muy dado a los retrueques de palabras. Su conocimiento del griego, del latín, del español y de otras lenguas debía animarle a ello, entre otras cosas ;)

.

Hace mucho tiempo lei Niebla, para ser sincero no puedo afirmar (tampoco negar) si Unamuno hizo uso de los "retrueques". La memoria es frágil :mad:. Pero si les puedo asegurar que fué una obra de la que disfruté y aprendí mucho. Especialmente con el laberinto filosófico que se desencadena en el lector cuando el protagonista de la obra interactúa con el autor de la misma :confused:. Extraño, pero interesante...

abracadabra 30-09-2005 22:43:43

Cita:

Empezado por dec

No sé bien a qué te refieres con evitar el "drag & drop"... ¿acaso a lo que venimos diciendo del efecto del cursor cuando se trata de modificar el ancho de las columnas? ¿O es quizás a evitar que puedan arrastrarse determinados elementos a la lista? ;)

Me refiero a lo primero, es decir al efecto del cursor cuando se trata de modificar el ancho de las columnas...

abracadabra 30-09-2005 22:50:03

Cita:

Empezado por dec
Hola,

Sin embargo, es extraño. Porque si tú seleccionas todas las columnas y estableces un mismo valor para las propiedades de que venimos hablando, al menos a mí, como ya he dicho, no me es posible modificar su ancho en tiempo de ejecución: a lo más aparece el cursor "cambiado" cuando uno se sitúa en alguna de las columnas como si quisiera modificar su ancho: es un efecto que ahora mismo no se me ocurre cómo quitar, pero, ya digo, lo que es el ancho de las columnas no puedo variarlo.

Me olvidaba, pero no todas las columnas tienen el mismo ancho, lo que deseo es que sólo permanezca estático el ancho de la primera columna del ListView.

dec 30-09-2005 22:58:46

Hola,

Bueno. Lo cierto es que he dicho de refrescar mi memoria, pero ya saben lo que hace falta para partir un pan,... ¡el pan mismo! (No se extrañen, muchos responden: "un cuchillo", por ejemplo). Quiero decir que tengo menos memoria que un mosquito, para mi mal, o para mi bien, no sé qué pensar... ¿cómo voy a hacerlo si digo que me falta una parte fundamental que influye en el pensamiento de qué manera?

Pero, basta. Digo que no recuerdo cuál fue el primer libro de Unamuno que leí; sé que tengo algunos por aquí que aún no leí, al menos no del todo, o que no me importaría releer (suele serme mejor la relectura que la lectura de las cosas). Digo que tengo "algunos" porque de los diez tomos de las obras completas de este autor cuento con los cuatro primeros. Los otros no se publicaron aún, aunque tampoco podría hacerme con ellos ahora mismo: son caros, hablando en plata y de plata.

Pero, yendo a lo que iba, el caso es me alegra comprobar que no soy el único al que ha hecho cavilar, en la medida de mis posibilidades, don Miguel, y eso aunque Google se encone en corregir a quien quiere decir lo que quiere decir y no otra cosa... ;) Por cierto que, hay algo que nos une (tantas cosas nos separan) a Unamuno y a mí, sin ir más lejos, y es la profunda admiración por otro Miguel, de Cervantes Saavedra. De éste sí tengo casualmente cuatro tomos también, pero estos contienen sus obras completas, o, por mejor decir, las que nos han llegado.

Claro que Unamuno fue más allá de la mera posesión de las letras cervantinas; escribió sobre Cervantes y sobre don Quijote, y estudió, más que leyó, sino que leyó despacio la obra de Cervantes, como digo, con mucha admiración. Uno de sus libros se titula Tres novelas ejemplares y un prólogo, en clara alusión (suele decirse) a las Novelas Ejemplares de Cervantes: Riconete y Cortadillo, La gitanilla, El coloquio de los perros, etc. Obras estas últimas altamente recomendables para entrarle a Cervantes, porque no son tan largas como Don Quijote de la Mancha, si bien igual de entretenidas y divertidas, curiosas y profundas, admirables y tajantes, en el sentido de que dejan claro quién era Miguel de Cervantes Saavedra: o lo menos dejan imaginarlo, ¿qué mejor que eso?

dec 30-09-2005 23:13:00

Hola,

Cita:

Empezado por abracadabra
(...) es decir al efecto del cursor cuando se trata de modificar el ancho de las columnas... [que quiero que no se vea]

No creas, por aquí estoy dándole unas cuantas vueltas, si bien no prometo nada, porque no soy político y para qué. Aunque lo siguiente me da mala espina... (Ignorancia, miedosa eres):

Cita:

Empezado por abracadabra
Me olvidaba, pero no todas las columnas tienen el mismo ancho, lo que deseo es que sólo permanezca estático el ancho de la primera columna del ListView.

Por lo que es de suponer que quieras que ciertas columnas sí puedan "ensancharse", por ejemplo... y para eso convendría acaso el cursor que precisamente tratamos de quitar del medio... no sé yo. ¿Qué tal parece tratar de conseguir que una de las columnas no pueda ensancharse, tal como se ha dicho -lo siento pero debo insistir en que a mí parece funcionarme bien-, dejar que el resto sí y olvidarnos del cursor? Ya que es necesario o conveniente para modificar varias columnas, varias son más que una, ganan varias ;)

dec 30-09-2005 23:14:36

Hola,

Cita:

Empezado por roman
(...) tendré que releer a Unamuno (...)

Sí; por favor ;)

roman 30-09-2005 23:18:58

Si Lepe estuviera por estos lares diría que en lugar del ListView uses el VirtualTreeView con el cual se puede hacer perfectamente éste y otros menesteres.

Pero como no está por aquí, no digo nada.

// Saludos

abracadabra 01-10-2005 00:07:19

Cita:

Empezado por roman
Si Lepe estuviera por estos lares diría que en lugar del ListView uses el VirtualTreeView con el cual se puede hacer perfectamente éste y otros menesteres.

Pero como no está por aquí, no digo nada.

// Saludos

:eek: :eek: :eek: Parece ser que el VirtualTreeView es una herramienta rápida, poderosa y flexible. Habrá que investigar más sobre el asunto. La verdad hasta hoy no conocía este control, que por cierto se muestra interesante. Gracias por el dato Roman. :)

roman 01-10-2005 00:33:35

Lo que si te digo es que no es una componente tan sencilla como otras; pero si buscas en los foros seguramente encontrarás mucha información que te ayude a comenzar ya que Lepe ha escrito muchas veces acerca de ella.

// Saludos


La franja horaria es GMT +2. Ahora son las 00:06:50.

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