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


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Sab 16 Jun, 2012 4:50 pm Asunto: CheckGroup, RadioGroup, etc. y colores |
|
|
Hace tiempo me solucionasteis un problema aquí en el foro (Aspecto de un GroupBox y similares). Voy a dar un vuelta de tuerca: ¿Podría cambiar de forma individual el colro de fondo de cada uno de los elementos de un RadioGroup o un ChekcGroup? He probado entre otras cosas con Situacion->Controls[0]->Canvas->Brush->Color, pero me da error ('Canvas' is not a member of 'TControl'). _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Vie 22 Jun, 2012 4:48 pm Asunto: |
|
|
¿Has probado con?:
| Código: | TRadioButton* rb = static_cast<TRadioButton*>(RadioGroup1->Controls[0]);
rb->Color = clLime; |
|
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 25 Jun, 2012 10:14 am Asunto: |
|
|
He usado esto:
| Código: | void __fastcall TForm1::FormCreate(TObject *Sender)
{
for (int nItem = 0; nItem <RadioGroup1>Items->Count; nItem ++)
{
TRadioButton *rb = static_cast<TRadioButton>(RadioGroup1->Controls[nItem]);
switch (nItem)
{
case 0:
rb->Color = clYellow;
break;
case 1:
rb->Color = clAqua;
break;
case 2:
rb->Color = clRed;
break;
case 3:
rb->Color = clGray;
break;
}
}
} |
Y deja el color de cada ítem con el del formulario, en este caso BtnFace. He probado poniendo un TRadioButton y modificando la propiedad color en, por ejemplo, clFuchsia directamente en el panel de propiedades y no cambia el color del TRadioButton. Me temo que es una propieda que no se puede modificar. Seguiré probando. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Lun 25 Jun, 2012 10:22 am Asunto: |
|
|
¡Encontré la solución! ¡Tonto de mi! Hay que poner la propiedad ParentColor a false para que el color elegido se muestre. El código ha quedado así:
| Código: | void __fastcall TForm1::FormCreate(TObject *Sender)
{
for (int nItem = 0; nItem <RadioGroup1>Items->Count; nItem ++)
{
TRadioButton *rb = static_cast<TRadioButton>(RadioGroup1->Controls[nItem]);
rb->ParentColor = false;
switch (nItem)
{
case 0:
rb->Color = clYellow;
break;
case 1:
rb->Color = clAqua;
break;
case 2:
rb->Color = clRed;
break;
case 3:
rb->Color = clGray;
break;
}
}
} |
 _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
|