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

Registrado: 20 Ago 2002Mensajes: 175
|
Publicado: Dom 13 Oct, 2002 5:35 pm Asunto: Asignar un rango de valores numéricos a una escala de color |
|
|
Lo que quiero hacer es que para un rango de valores, p.e.:de 100-200,
asignarle el color azul y que se muestre una escala de azules según el
valor esté comprendido entre el 100-200.
Lo quiero mostrar en la propiedad Color de un TEdit, .....creo que se puede hacer , lo q no sé es cómo.
Gracias por la ayuda  |
|
| Volver arriba |
|
 |
jaquemate Lt Cmdr


Registrado: 30 Sep 2002Mensajes: 110
|
Publicado: Lun 14 Oct, 2002 12:08 am Asunto: |
|
|
La verdad es que lo único que he entendido de tu pregunta es que quieres hacer una escala de azules. No creo que cueste tanto explicar un poco mejor las preguntas, pero en fín...
Pues bien para ver el ejemplo de la escala de colores, puedes poner un potenciómetro TTrackBar cuya propiedad Min sea 0 y Max 255 (o también de 100 a 200 según tu ejemplo) Luego en el evento OnChange le cambiamos el color al TEdit de esta forma:
| Código: |
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
Edit1->Color = (TColor) TrackBar1->Position << 16;
}
|
Es decir, cambiamos el color del TEdit según el valor del potenciómetro.
En fin, si no era esto lo que querías a ver si puedes explicarte un poco mejor... |
|
| Volver arriba |
|
 |
tyloya Master

Registrado: 20 Ago 2002Mensajes: 175
|
Publicado: Lun 14 Oct, 2002 9:53 am Asunto: Aclaración |
|
|
Intentaré que me entiendas......
Tengo una matriz de 8x8 TEdit, y a través de un método obtengo
unos valores numéricos que muestro en esa matriz,array 2D o como quieras llamarlo. Lo que quiero es definir un color para un rango numérico, y así mostrarlo visualmente,..........es decir, si el valor está entre 1200 y 2000, el color será rojo(para el 2000), pero si es 1750 el color será de una tonalidad de rojo.......entiendes?
Para el rango entre 500 y 1200, con cualquier valor entre esos dos, por ejemplo, que el color que muestre sea verde.......
Debería poder acceder a alguna estructura donde tuviera guardado los colores según el valor numérico que obtuviera....
De todas formas probaré a ver si con lo que me has dicho puedo hacer algo de lo que quiero. |
|
| Volver arriba |
|
 |
ferpb Invitado
|
Publicado: Lun 14 Oct, 2002 10:32 am Asunto: |
|
|
hola,
haces una funcion en la que compruebas los valores
colorbase = clRed; //por ejemplo
int correccion;
if ((valor >min) && (valor < max))
{
//calcula el porcentaje en funcion de lo que quieras
correccion = colorbase * (valor/max); //el valor maximo sera colorbase y varia conforme valor disminuye. aplica mas calculos a tu gusto para que la variacion sea distinta.
Edit->Color = (TColor) correccion;
} |
|
| Volver arriba |
|
 |
tyloya Master

Registrado: 20 Ago 2002Mensajes: 175
|
Publicado: Lun 14 Oct, 2002 10:39 am Asunto: Eso era lo que estaba buscando |
|
|
Eso era lo que necesitaba, gracias!!  |
|
| Volver arriba |
|
 |
|