Cómo mostrar un par en MFC para que su fondo sea transparente
Primero, use la función TransparentBlt
La función TransparentBlt se ejecuta en Windows 98/Windows 2000 o superior, y Msimg32.lib debe estar incluido en el sistema. Puede vincularlo a Msimg32. .lib al usarlo.
TransparentBlt en Windows98 provocará pérdida de recursos, por lo que no se recomienda utilizar esta función en WIN98.
El prototipo de la función TransparentBlt es el siguiente:
Booltransparent BLT (hdchhdcdest, //objetivo DCint nXOriginDest, // objetivo X offset int nYOriginDest, // objetivo Y offset int nWidthDest, / / ancho objetivo int hHeightDest, // alto objetivo hdchhdcsrc, // fuente DCint nXOriginSrc, // punto inicial fuente X int nYOriginSrc, // punto inicial fuente Y int nWidthSrc, // ancho fuente int nHeightSrc, // alto fuente UINT Cr transparente // color transparente, tipo COLORREF); Ejemplo de uso:
CBitmap FootballBMP
Fútbol BMP. cargar mapa de bits(IDB _ fútbol BMP);
CDC ImageDC
ImageDC. CreateCompatibleDC(pDC);
CBitmap *pOldImageBMP = ImageDC. Seleccionar objeto (amp Football BMP);
Transparente BLT(pDC-gt; m_hDC, 0, 0, 218, 199, ImageDC.m_hDC, 0, 0, 218, 199, RGB (0, 0, 0xff)); //RGB(0, 0, 0xff) cambia el color de fondo.
ImagenDC. seleccionar objeto(pOldImageBMP);