Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Asignar un rango de valores numéricos a una escala de color

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Asignar un rango de valores numéricos a una escala de color Responder citando

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 Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Aclaración Responder citando

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
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

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
Mensaje    Asunto: Eso era lo que estaba buscando Responder citando

Eso era lo que necesitaba, gracias!! Smile
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.