Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-09-2003
rolando_sd rolando_sd is offline
Registrado
 
Registrado: jul 2003
Ubicación: La Habana
Posts: 9
Poder: 0
rolando_sd Va por buen camino
Question Formas transparentes y algo más...

Saludos Amigos foristas:

Tengo necesidad de vuestra ayuda; tengo que desarrollar una aplicación en la cual debo utilizar formas transparentes(Cómo puedo obtenerlas?), las que se solapen y ver dos gráficos arbitrarios uno en una forma y el otro de la otra, los cuales pueden coincidir o no; algún compañero ha hecho algo de lo que hablo o similar que me pueda ayudar?

Para obtener coincidencia o no de gráficos (digamos, manchas) debiera usar operadores lógicos?

Muchas gracias adelantadas
Un amigo
rolando_sd
Responder Con Cita
  #2  
Antiguo 11-09-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
En WinXP y con Delphi 7 puedes crear formularios con transparencia REAL, con versiones anteriores lo que he hecho alguna vez, hacer que el form tenga una región irregular que sea una grilla, y da un efecto transparencia medio mentiroso.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 12-09-2003
Rudi Rudi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Venezuela
Posts: 78
Poder: 21
Rudi Va por buen camino
hola,

este codigo lo encontre hace algun tiempo en trucomania.

procedure TForm1.Button1Click(Sender: TObject);
var
frmRegion, tempRegion: HRGN;
i: Integer;
Arect: TRect;
begin
frmRegion := 0;
for I:= 0 to ControlCount - 1 do begin
aRect := Controls[i].BoundsRect;
OffsetRect( aRect, clientorigin.x - left, clientorigin.y - top );
tempRegion := CreateRectRgnIndirect( aRect );
if frmRegion = 0 then
frmRegion := tempRegion
else begin
CombineRgn( frmRegion, frmRegion, tempRegion, RGN_OR );
DeleteObject( tempRegion );
end;
end;
tempregion :=
CreateRectRgn( 0, 0, Width,
GetSystemMetrics( SM_CYCAPTION )+
GetSystemMetrics( SM_CYSIZEFRAME )+
GetSystemMetrics( SM_CYMENU ) * Ord(Menu <> Nil));

CombineRgn( frmRegion, frmRegion, tempRegion, RGN_OR );
DeleteObject( tempRegion );
SetWindowRgn( handle, frmRegion, true );
end;

funciona con delphi6 y win2000(lo acabo de probar), el problema es que no se como devolver el estado normal, es decir quitar la transparencia.

espero que te sirva.
Responder Con Cita
  #4  
Antiguo 12-09-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
El código que te pasa Rudi es similar a la idea de crear una región en forma de grilla, solo que este crea una región con la forma de los componentes, lo que hace que el form sea 100% transparente

Cita:
Posteado originalmente por Rudi
el problema es que no se como devolver el estado normal, es decir quitar la transparencia.
Prueba esto: SetWindowRgn(Handle, 0, True);

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 12-09-2003
rolando_sd rolando_sd is offline
Registrado
 
Registrado: jul 2003
Ubicación: La Habana
Posts: 9
Poder: 0
rolando_sd Va por buen camino
Rudi y delphi.com.ar:
Mis saludos; realmente estoy preparándome para una tarea que debo comenzar en la 2da quincena del mes que viene, pero necesito desde ya las herramientas, lo que tengo hasta ahora es el delphi 5, que lo conseguí hace 10 días y la plataforma es windows 98, no sé si eso me servirá para comenzar a experimentar y lograr algún resultado, por lo pronto me comuniqué con www.borland.com y me facilitaron unas keys trial por 2 meses para usar el delphi 6. Veremos qué pasa...Salu2 y los quiero mucho, me han alumbrado bastante y espero recibir más ideas y aclaraciones de los demás amigos que deseen hacerlo. GRACIAS

Un amigo
rolando_sd
Responder Con Cita
  #6  
Antiguo 12-09-2003
Rudi Rudi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Venezuela
Posts: 78
Poder: 21
Rudi Va por buen camino
Cita:
Posteado originalmente por delphi.com.ar
Prueba esto: SetWindowRgn(Handle, 0, True);
Funciona a las mil maravillas, el que no sabe es como el que no vé.
Responder Con Cita
  #7  
Antiguo 13-10-2003
seduerey seduerey is offline
Miembro
 
Registrado: jun 2003
Posts: 60
Poder: 21
seduerey Va por buen camino
Acabamos de actualizar a Delphi 7 bajo W2000 profesional, pero no se donde esta para poner a los formularios la transparencia.

He visto transparentColor, pero no me parece que sea lo que busco....

¿Como le pongo una transparencia de menos del 100%?por ejemplo, esto al 30%

Gracias.
Responder Con Cita
  #8  
Antiguo 17-10-2003
vichovi vichovi is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva (España)
Posts: 59
Poder: 21
vichovi Va por buen camino
Desde Delphi 6 (y por lo tanto en la 7) los formularios tienen la propiedad AlphaBlend, la cual si esta a true hace que nuestro formulario sea transparente en función al valor dado a la propiedad AlphaBlendValue; siendo 255 el valor por defecto (formulario normal, opaco), hasta 0 (formulario totalmente transparente).

Estas propiedades no tienen ningun resultado en W9x.

Un saludo.
__________________
Vivir a la deriva,
sentir,
que no se que hago aki...

(Extremo)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:49:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi