| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
lealvarez Cdt

Registrado: 13 Abr 2003Mensajes: 2
|
Publicado: Dom 13 Abr, 2003 7:00 pm Asunto: [b]...Con repecto a el StringGrird[/b] |
|
|
Hola,
La verdad es que hay algo que me esta dando dolor de cabeza. El problema que tengo es que, para un laboratorio de la universidad, necesito que una celda especifica del StringGrid tenga un color dierente a el de la fuente del StringGrid.
En general...
¿Como hago para asignarle color a una celda en el StringGrid? Estuve investigando, y no hay ninguna funcion que directamente haga esta asignacion.
La Respuesta a esta pregunta, seria de gran ayuda.
¡GRacias!
|
|
| Volver arriba |
|
 |
Natalia Cdt

Registrado: 24 Ago 2002Mensajes: 16
|
Publicado: Lun 14 Abr, 2003 10:26 am Asunto: |
|
|
Es sencillo, aunque algo laborioso si tienes que hacerlo para muchas celdas.
Debes colocar el siguiente código en el evento "OnDrawCell" de la Tabla que estes usando:
if((ACol > Columna) && (ARow > Fila)){
// Colocamos el texto justificado a la derecha en una celda gris.
TStringGrid *Grid = dynamic_cast<TStringGrid*>(Sender);
// La Columna es gris.
Grid->Canvas->Brush->Color = static_cast<TColor>(RGB(240,240,240));
// Escribimos el texto justificado.
Grid->Canvas->TextRect(Rect, (Rect.Left + (Rect.Width() - Canvas->TextWidth(Tabla->Cells[ACol][ARow]))-5), (Rect.Top + 2), Grid->Cells[ACol][ARow]);
}
Otra opción es usar alguno de los controlos GRid modificados y gratuitos que soporten color en las celdas. Esos los puedes encontrar en cualquier página de controles VCL. _________________ -
Saludos. |
|
| Volver arriba |
|
 |
Natalia Cdt

Registrado: 24 Ago 2002Mensajes: 16
|
Publicado: Lun 14 Abr, 2003 10:29 am Asunto: |
|
|
Perdón.. una correción:
if((ACol == Columna) && (ARow == Fila)){
...
}
donde Columna y Fila son las correspondientes a la celda que quieres que sea de color diferente. _________________ -
Saludos. |
|
| Volver arriba |
|
 |
|