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


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Vie 14 Dic, 2018 12:50 pm Asunto: Aplicar el color leido con TRegistry |
|
|
Sé que tiene que ser una tontería pero ni se me ocurre ni me acuerdo de como se hace. Leo un clave del registro así:
| Código: | TRegistry *rRegistro = new TRegistry();
rRegistro->RootKey = HKEY_CURRENT_USER;
if (rRegistro->OpenKeyReadOnly("Control Panel\\Desktop\\Colors"))
cAux = rRegistro->ReadString("ActiveBorder"); |
y me da como resultado
¿Cómo demonios hago para utilizar ese valor para poner por ejemplo el fondo de un formulario? _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mie 19 Dic, 2018 4:05 am Asunto: |
|
|
Hola Angel, se me ocurre algo asi.
| Código: | String cAux = "212 208 200";
int R,G,B;
int Espacio = cAux.Pos(" "); // encontramos el primer espacio
R = cAux.SubString0(1,Espacio - 1);// Encontramos el primer numero --> 212
cAux = cAux.SubString(Espacio + 1, cAux.Length()); // recortamos la cadena
Espacio = cAux.Pos(" "); // cAux ahora es igual a: "208 200"
G = cAux.SubString(1,Espacio - 1); // sacamos el segundo numero --> 208
B = cAux.SubString(Espacio + 1, cAux.Length()); // ultimo numero -> 200
// ...y lo establecemos con la funcion RGB y TColor para el color del Formulario (this)
this->Color = (Graphics::TColor) RGB(R,G,B); |
Espero ayude. _________________
 |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Jue 27 Dic, 2018 1:06 pm Asunto: |
|
|
Utilizando las bondades de C:
| Código: |
String cAux = "212 208 200";
int R,G,B;
char *C = cAux.c_str();
R = atoi(strtok(C, " ")); C += strlen(C)+1;
G = atoi(strtok(C, " ")); C += strlen(C)+1;
B = atoi(C);
Color = (Graphics::TColor) RGB(R,G,B);
|
Saludos. |
|
| Volver arriba |
|
 |
|