FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
TListBox con varias columnas y un encabezado para cada una, ¿es posible?
Quiero rellenar un TListBox con tres columnas y que cada columna tenga un encabezado.
¿Es posible hacer esto en un TListBox? Código:
Columna1 Columna2 Columna3 A 1 x B 2 y C 3 z |
#2
|
||||
|
||||
¿Por qué no mejor usas un TStringGrid?
// Saludos |
#3
|
||||
|
||||
Además, para eso lo mejor es que uses el TListView, que está en la pestaña "Win32". Eso si, tienes que poner su propieda "ViewStyle" con valor "vsReport"
Un saludo |
#4
|
|||
|
|||
Estoy usando TListView y me va muy bien, gracias por las aportaciones.
Un saludo. |
#5
|
|||
|
|||
@ElKurgan, ¿sabes si puedo hacer que las columnas del TListView no sean sizeables?
No veo la forma. Saludos. |
#6
|
||||
|
||||
Hubiera pensado que hay una forma fácil de hacer esto, pero no la encuentro. Una opción sencilla puede ser la de ajustar las propiedades MinWidth y MaxWidth de cada columna para que coincidan con Width. De esta forma evitas que se cambie el tamaño aunque no evitas el efecto de arrastrar el borde de la columna: sigue apareciendo la línea de arrastrado y cuando la sueltas vuelve a su posición original.
Otra manera, más complicada, es interceptando el mensaje WM_NOTIFY que se manda al ListView cuando se realiza alguna operación, verificar que el mensaje corresponda a la acción BEGINTRACK y anularla. Lo malo de esto, es que para interceptar este mensaje tienes que reemplazar el procedimiento de ventana (el que maneja todos los mensajes de una ventana) del ListView. Aquí te pongo cómo hacerlo:
El campo OldLVWndProc sirve para guardar una referencia al procedimiento original, a fin de que puedas llamarlo desde tu nuevo procedimiento. Este nuevo procedimiento lo asigna en el constructor del formulario y lo único que hace es verifcar que el mensaje corresponda al cominezo de arrastrar el borde de una columna, y, en tal caso, simplemente regresa 1 (indicando que ya se procesó el mensaje) sin llamar al procedimiento original. Aún así, queda el "problema" de que el cursor del ratón sigue cambiando al ponerlo en el borde, como si se pudiese cambiar el tamaño. // Saludos |
#7
|
|||
|
|||
Madre mía, no pensaba que fuera tan complicado, pensaba que sería poner a False alguna propiedad pero veo que no es así, muchísimas gracias por la aportación roman.
Saludos. Última edición por noob fecha: 04-02-2009 a las 13:43:12. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Varias columnas en ListBox (DELPHI) | JUANRS | Internet | 9 | 11-11-2008 22:43:25 |
Impresion en QuickReport de Varias Columnas | Alexis De la Cr | Impresión | 4 | 11-03-2008 22:04:52 |
Es posible tener varias bases de datos.... | Carlosguiland | MySQL | 5 | 24-06-2004 20:39:10 |
Valor máximo de varias columnas | jsf48 | SQL | 3 | 10-05-2004 00:49:37 |
Varias columnas en ListBox o CheckListBox | __cadetill | Varios | 5 | 12-07-2003 00:57:55 |
|