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 

Form Transparente

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Form Transparente Responder citando

Pues eso como se puede hacer un formulario transparente. Un saludo y gracias de antemano.
Volver arriba
Mensaje    Asunto: Form Transparente Responder citando

La respuesta la tenías en el foro. Este código está escrito por _Leo.

Este código hace transparentes las zonas del Form sin controles.
En el evento OnCreate del Form ponemos:

HRGN frmRgn = CreateRectRgn(0, 0, Width,
Height-ClientHeight-GetSystemMetrics(SM_CYSIZEFRAME));

for (int i=0; i<ControlCount; i++)
{
TRect R = Controls[i]->BoundsRect;
OffsetRect((RECT*)&R, ClientOrigin.x - Left, ClientOrigin.y - Top);
HRGN tmpRgn = CreateRectRgnIndirect((RECT*)&R);
CombineRgn(frmRgn, frmRgn, tmpRgn, RGN_OR);
DeleteObject(tmpRgn);
}

SetWindowRgn(Handle, frmRgn, true);
DeleteObject(frmRgn);


---
PD: probado en BCB1 y BCB5

O puede que te valga este. Tambien cortesía de _Leo:

- Este efecto es solo valido en Windows 2000.
- Tal como esta solo funciona en BCB5 ya que este trae las cabeceras actualizadas para Win2000.

En el evento OnCreate del Form ponemos:

int P = 25; // Porcentaje transparencia

SetWindowLong(Handle, GWL_EXSTYLE,
GetWindowLong(Handle, GWL_EXSTYLE) | WS_EX_LAYERED);

SetLayeredWindowAttributes(Handle, NULL, 255*(100-P)/100, LWA_ALPHA);


---
PD: posiblemente también funciona en Windows Millenium (a ver si alguien puede confirmarlo)

Beno, agur!!!(adios)

Volver arriba
Mensaje    Asunto: Form Transparente Responder citando

Muchas gracias por tu ayuda, la verdad es que mire en el foro pero no encontré nada, igual deberia haber buscado mejor.

Bueno un Saludo y muchas gracias Gorak.

Agur eta ondo ibili. :-<>

Volver arriba
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.