 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Vie 05 Nov, 2004 11:43 pm Asunto: Pintar TODOS los controles en tonos de grises |
|
|
Alguien se le ocurre como pintar todos los controles de un form en tonos de grises?
Existe una funcion que amablemente dejaron en el foro que convierte un TImage en escala de grisese, estuve jugando con esa funcion y copio el form a un TImage del escritorio, lo pinto de gris y lo dejo visible.
Funciona.. pero..no se me hace elegante ni logico, asumo que debe existir una forma directa de hacerlo y luego revertirlo, me sirve para dejar "inabilitados mis forms cuando abro ventanas arriba.. abro mas de 2 y no las puedo poner modales, y si asi fuera , es importante para el usuario ver que esta desabilitado..
Ya saben no falta el usuario que te llame por que no funciona su "sistema" ;
Debido a que hay una venatana modal pidiendole algo pero el NECIO quire hacerle click a las opciones que estan detras.
Me explico?  _________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Sab 06 Nov, 2004 12:41 am Asunto: |
|
|
mira, hay algo como esto, que aun no le he metido mano, pero creo que te puede funcionar, a demas viene el ejemplo y el codigo para implementarlo, tambien puedes, bajar la clase, el cpp y el h
http://chgi.developpez.com/compo7/ _________________
 |
|
| Volver arriba |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Sab 06 Nov, 2004 5:38 am Asunto: |
|
|
Cesar, cheque el link, (esta en Frances), vi que es un codigo para la generacionde un objeto boton flat, lo que nedesitoes una funcion que atravez de scanlines o algo asi, deje temporalmente en tonos de grises algun form.
Algo asi como:
| Código: |
FormToGray(frmEntradas);
|
gracias de antemano _________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com |
|
| Volver arriba |
|
 |
_Willa Capt


Registrado: 28 Ago 2002Mensajes: 169Ubicación: Madrid ( España )
|
Publicado: Lun 08 Nov, 2004 11:23 am Asunto: |
|
|
Hola Touchsoftwares,
Yo en estos casos, hago algo muy sencillo:
1) Capturo la imagen la convierto a Gris.
2) Despues esta imagen la pongo de fondo
o de la ventana activa o fondo total de pantalla.
Y da un aspecto como si todo estuviese desactivado. _________________ Saludos
~~~~~~~~
_Willa
~~~~~~~~
www.avancegame.com |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Dom 27 Feb, 2005 3:41 am Asunto: |
|
|
Prueba asi
| Código: | // funcion que degrada el color de un TWinControl
void __fastcall Degradar(TWinControl *OBJ)
{
// forma de usarla
// Degradar(Panel1);
TRect rect = OBJ->BoundsRect;
TColor c1,c2;
HDC dc=GetDC(OBJ->Handle);
HPEN hpen;
c1 = static_cast<TColor>( ColorToRGB(clBlue) ); // inicio
c2 = static_cast<TColor>( ColorToRGB(clBlack)); // final
int Rf = GetRValue(c1), Gf=GetGValue(c1), Bf=GetBValue(c1);
int Rd = GetRValue(c2)-Rf, Gd=GetGValue(c2)-Gf, Bd=GetBValue(c2)-Bf;
int R, G, B,nTonos=95;
float incremento = (float)nTonos / (rect.Height()>1?rect.Height():1);
for (int i=0; i<=rect.Height(); ++i)
{
R = Rf + MulDiv(incremento*i, Rd, nTonos);
G = Gf + MulDiv(incremento*i, Gd, nTonos);
B = Bf + MulDiv(incremento*i, Bd, nTonos);
hpen = CreatePen(PS_SOLID, 1, (Graphics::TColor)RGB(R, G, B));
SelectObject(dc,hpen);
MoveToEx(dc,rect.left, rect.top+i,(LPPOINT) NULL);
LineTo(dc,rect.right, rect.top+i);
}
ReleaseDC(OBJ->Handle, dc);
} |
_________________
 |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Jue 28 Jul, 2005 3:25 pm Asunto: |
|
|
Hola,
_willa como haces para poner el bitmap
detras del form modal ?
un saludo. |
|
| Volver arriba |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|