FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
y como accedo a los valores de State, lo que he hecho es esto
Código:
if (State == NO ENCUENTRO QUE PONER) { DBGrid1->Canvas->Brush->Color = clHotLight; } else { if (ADOQuery1->RecNo % 2) { DBGrid1->Canvas->Brush->Color = StringToColor("0x002899d2"); DBGrid1->DefaultDrawColumnCell(Rect,DataCol,Column,State); } }
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código. Cuando miras fijamente al abismo, este te devuelve la mirada oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_ oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_ oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_ oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_ oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_ ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_ ________________________________________________________________________________ |
#2
|
||||
|
||||
En C++ no sé cómo sería el código, no escribo en ese lenguage. Pero en Delphi tu código más o menos debería ser así:
|
#3
|
||||
|
||||
Hola Impadrón.
No había probado con el color que pusiste por lo que no veía el problema. En realidad no perdes la selección. El texto, que en la selección esta en color blanco, se confunde con el color '0x002899d2' ya que es muy similar. Yo lo resolví así: Código:
void __fastcall TForm1::DBGrid1DrawColumnCell(TObject *Sender, const TRect &Rect, int DataCol, TColumn *Column, TGridDrawState State) { DBGrid1->Canvas->Font->Color = clBlack; /* Texto en negro */ if (ADOQuery1->RecNo % 2){ DBGrid1->Canvas->Brush->Color = 0x00f7fbfd; DBGrid1->DefaultDrawColumnCell(Rect,DataCol,Column,State); } }
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
||||
|
||||
Hola.
Te agrego un ejemplo más completo, en el cuál seleccionás los colores de fondo y fuente en ambos casos (par/impar): Código:
void __fastcall TForm1::DBGrid1DrawColumnCell(TObject *Sender, const TRect &Rect, int DataCol, TColumn *Column, TGridDrawState State) { if (ADOQuery1->RecNo % 2) { DBGrid1->Canvas->Font->Color = clBlack; /* letra negra */ DBGrid1->Canvas->Brush->Color = clLime; /* fondo claro */ } else{ DBGrid1->Canvas->Font->Color = clWhite; /* letra blanca */ DBGrid1->Canvas->Brush->Color = clNavy; /* fondo oscuro */ } DBGrid1->DefaultDrawColumnCell(Rect,DataCol,Column,State); }
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
||||
|
||||
Cita:
Saludos, Chris |
#6
|
||||
|
||||
Cita:
Entiendo lo que comentas, pero aparte de la selección, creo que de todas maneras las celdas tienen que tener colores diferentes cuando son pares o impares. Ahora voy a probar evaluando la condición del estado. Un saludo. Edito: Tenés toda la razón Chris , gracias por la observación, ya incluí el "!" en la condición del código del mensaje superior
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 26-08-2011 a las 19:10:42. |
#7
|
||||
|
||||
Cita:
Saludos, Chris |
#8
|
||||
|
||||
Gracias amigos ecfisa y Chris
Estaba probando el codigo que Chris habia escrito en Pascal y pues no puedo convertirlo a C++, ahora voy a probar con tu solucion ecfisa de todas formas si alguien puede convertir el codigo del amigo Chris seria excelente. Saludos
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código. Cuando miras fijamente al abismo, este te devuelve la mirada oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_ oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_ oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_ oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_ oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_ ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_ ________________________________________________________________________________ |
#9
|
||||
|
||||
Cita:
La conversión del código de Chris es: Código:
if(ADOQuery1->RecNo % 2) if(!State.Contains(gdSelected)) DBGrid1->Canvas->Brush->Color = 0x00f7fbfd; DBGrid1->DefaultDrawColumnCell(Rect,DataCol,Column,State);
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 26-08-2011 a las 19:11:49. Razón: Incluir negación en condición |
#10
|
||||
|
||||
Gracias ecfisa por la traducción!
Solo que se te ha escapado la negación en la segunda condicional. Código:
if(ADOQuery1->RecNo % 2) if !(State.Contains(gdSelected)) DBGrid1->Canvas->Brush->Color = 0x00f7fbfd; DBGrid1->DefaultDrawColumnCell(Rect,DataCol,Column,State); Chris |
#11
|
||||
|
||||
Gracias amigos por su ayuda !!!
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código. Cuando miras fijamente al abismo, este te devuelve la mirada oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_ oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_ oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_ oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_ oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_ ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_ ________________________________________________________________________________ |
#12
|
||||
|
||||
Hola Chris.
Probé con tu sugerencia y funciona perfectamente. Cita:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 26-08-2011 a las 19:23:12. |
#13
|
||||
|
||||
he unido los dos codigos, jejeje y al hacerlo me di cuenta de que la negación debe ir dentro del parentesis (me dio error cuando lo corri !!!)
Cita:
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código. Cuando miras fijamente al abismo, este te devuelve la mirada oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_ oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_ oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_ oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_ oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_ ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_ ________________________________________________________________________________ |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda, instale un componenete y perdi otro | aldmoscardi | Varios | 5 | 05-07-2007 17:31:09 |
Tcanvas mejorado | eliash | Gráficos | 6 | 10-01-2006 10:47:13 |
tcanvas alineado a la derecha | rebollo75 | Impresión | 2 | 30-11-2005 18:45:33 |
Perdi el ejemplo | buitrago_listas | SQL | 1 | 19-01-2005 20:51:36 |
Alternativa a TCanvas.StretchDraw | Jose_Pérez | Gráficos | 2 | 17-04-2004 16:01:13 |
|