Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


Bipmap de fondo en Formulario con trasparencia MFC

Aqui programadores en la plataforma Win32 con Visual C++ de Microsoft...

Moderador: latindeveloper

Bipmap de fondo en Formulario con trasparencia MFC

Notapor Mitsuomi el Mié Nov 07, 2007 4:16 pm

Aver si me explico, con este codigo

Código: Seleccionar todo
CPaintDC dc(this); // device context for painting

CRect r;
GetClientRect(&r);

CDC MemDC;
MemDC.CreateCompatibleDC(&dc);
MemDC.SelectObject(&m_bitmap);

BITMAP bm;
m_bitmap.GetBitmap(&bm);

dc.StretchBlt(0,0,r.Width(),r.Height(),&MemDC,0,0,bm.bmWidth ,bm.bmHeight ,SRCCOPY);


ago que se muestre un bitmap como fondo de formulario, bueno lo que quiero es usar el color amarillo como color de trasparencia, como lo puedo acer??
Mitsuomi
Novato
Novato
 
Mensajes: 6
Registrado: Jue Sep 06, 2007 9:43 am

Re: Bipmap de fondo en Formulario con trasparencia MFC

Notapor ivancp el Mié Nov 07, 2007 6:25 pm

En lugar de usar StretchBlt puedes utilizar TransparentBlt , es similar solo que recibe como parametro un color de transparencia (crTransparent )
ivancp
Programador Experimentado
Programador Experimentado
 
Mensajes: 371
Registrado: Jue Sep 06, 2007 12:57 pm

Notapor Mitsuomi el Jue Nov 08, 2007 4:51 am

Si no es mucha molestia, me podrias explicar un poco como se usa TransparentBlt??
Mitsuomi
Novato
Novato
 
Mensajes: 6
Registrado: Jue Sep 06, 2007 9:43 am

Documentacion

Notapor ivancp el Jue Nov 08, 2007 6:44 pm

Hola,

Revisa la documentacion para que tengas al menos una idea de como funciona:

http://msdn2.microsoft.com/en-us/library/ms532303.aspx

Un ejemplo de funcionamiento puede ser cambiar la ultima linea de tu codigo fuente:

Código: Seleccionar todo
TransparentBlt(dc.GetSafeHdc(), 0,0,r.Width(),r.Height(),MemDC.GetSafeHdc(),0,0,bm.bmWidth ,bm.bmHeight ,RGB(255,255,0));
ivancp
Programador Experimentado
Programador Experimentado
 
Mensajes: 371
Registrado: Jue Sep 06, 2007 12:57 pm

Notapor Mitsuomi el Dom Nov 11, 2007 1:21 pm

la trasparencia perfecta, gracias por el codigo, bueno, ara lo q quiero es q el formulario tambien sea trasparente, es decir q debajo de la trasparencia se vea el escritorio
Mitsuomi
Novato
Novato
 
Mensajes: 6
Registrado: Jue Sep 06, 2007 9:43 am


Volver a Visual C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados