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 necesita incluir Msimg32.lib 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 de destino int hHeightDest, // alto de destino hdchhdcsrc, // fuente DCint nXOriginSrc, // punto de partida de fuente X int nYOriginSrc, // punto de partida de fuente Y int nWidthSrc, // ancho de fuente int nHeightSrc, // altura de 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. Seleccione Objeto(&footballBMP);
Transparente BLT(pDC->m_hDC,0,0,218,199,ImageDC.m_hDC,0,0,218,199,RGB(0, 0, 0x ff)); , 0, 0x ff)) para cambiar el color de fondo.
ImagenDC. seleccionar objeto(pOldImageBMP);