| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Mar 08 May, 2007 12:56 pm Asunto: Presentanción en LIstView |
|
|
Mediante código hago que en un ListView las filas se vean, por ejemplo, en negrita o no:
| Código: | void __fastcall TfSimula::TotalesCustomDrawItem(TCustomListView *Sender, TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
pItem = Item;
Sender->Canvas->Font->Height = -11;
Sender->Canvas->Font->Name = "Arial";
if (pItem->SubItems->Strings[0].Pos("ACUMULADO") == 0 && pItem->SubItems->Strings[0].Pos("ESTIMADO") == 0)
Sender->Canvas->Font->Style = TFontStyles() >> fsBold;
} |
Voy a dar un vuelta de tuerca más: ¿Podría, a través del Canvas, hacer que eso ocurriera sólo para un celda concreta? _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
jacko Master


Registrado: 03 Sep 2005Mensajes: 287Ubicación: Colombia
|
Publicado: Mar 08 May, 2007 3:18 pm Asunto: |
|
|
Hola Angel
Como seleccionas la celda concreta? Por una ubicacion? Por un texto que contenga?
Si es por una palabra en especial con Item->Caption miras el texto y podrias determinar si lo pones en negrita o no.
Que dices? _________________ Dios es real... a menos que se declare entero! |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
jacko Master


Registrado: 03 Sep 2005Mensajes: 287Ubicación: Colombia
|
Publicado: Mar 08 May, 2007 7:14 pm Asunto: |
|
|
Que pena Angel. Te preguntaba que como la seleccionas, con qué criterio, para asi saber por cual metodo podrias ponerla en negrilla.
Si quieres poner en negrilla la celda nxm, o en negrilla la que diga "Hola", o cuá?
Depronto no me explique bien.... _________________ Dios es real... a menos que se declare entero! |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Mie 09 May, 2007 7:42 am Asunto: |
|
|
¡Ah! Te había entendido otra cosa; perdón. Vamos a ver; la pantalla es esta:
Si yo introduzco en el cuadro de en medio (es un StringGrid) un valor, al presionar el botón recalcular lo que hago es copiar los valores de este cuadro en el inferior (que es un ListView), de forma que si un casilla está en blanco tomo el valor de la inmediata a izquierda. Lo que intento es que si hay un valor en las columnas Prop. del StringGrid, la posición equivalente del ListView inferior esté en negrilla o con fondo rojo, de forma que se vean con facilidad las diferencias. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
jacko Master


Registrado: 03 Sep 2005Mensajes: 287Ubicación: Colombia
|
Publicado: Mie 09 May, 2007 2:42 pm Asunto: |
|
|
ok, ya entiendo.... algo complicado no?
Por lo que veo, tendrias que mandar algun aviso al evento CustomDrawItem para que en determinado momento ponga lo que esta escribiendo en negrilla o con fondo rojo, verdad? Y el resto lo siga escribiendo normal.
No se podria hacer una comparacion por texto porque no se sabe cual es el valor que se va a escribir en la casilla Prop. Pero si se podria hacer la comparacion por posicion de la celda. Podrias utilizar la propiedad GetPosition del Item para determinar en donde se esta dibujando y asi poner negrilla en la columna que quieres.
Que te parece?
Nos cuentas como lo solucionaste! _________________ Dios es real... a menos que se declare entero! |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Mie 09 May, 2007 7:52 pm Asunto: |
|
|
Parte de ese código ya está. El ListView tiene definida la fuente en negrilla y cuando lo relleno cambio cada fila para que se vea como en la figura. Una opción que no se me había ocurrido es poner con fondo rojo, por ejemplo, las filas en las que se ha modificado algo. Será lo que haga al final, porque yo había pensado usar el evento OnAdvancedCustomDrawSubItem pero no me hace lo que quiero. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
|