Pregunta

Editar:? Si alguien ha intentado esto en Win32 antes, voy en la dirección correcta mediante el uso de DrawThemeBackground ()

Me'v activado recientemente estilos visuales utilizando un manifiesto para la versión 6 de ComCtl32.dll. Ejemplo de estilos visuales en Win32: estilos visuales

Los botones se ven muy bien, pero no puedo encontrar la manera de hacer que el fondo alrededor de los botones transparentes. Por favor, vea la imagen ejemplo: http://www.freeimagehosting.net/image.php?2bdeff33ba .jpg

Mi color principal fondo de la ventana se establece en gris oscuro con:

a.hbrBackground = GetStockObject(DKGRAY_BRUSH);

Los controles comunes se inicializan con:

INITCOMMONCONTROLSEX stylesStruct;
stylesStruct.dwSize = sizeof(stylesStruct);
stylesStruct.dwICC = ICC_STANDARD_CLASSES;
InitCommonControlsEx(&stylesStruct);

Y puedo crear las ventanas de botón con:

j = CreateWindow(L"BUTTON", L"hello",
    WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, 100, 100,
    100, 100, h, 0, hInst, 0);

Los botones tienen un aspecto fino sobre un fondo blanco, pero la frontera se hace visible sobre cualquier otra cosa. ¿Es posible hacer que la frontera alrededor de los botones transparentes?

¿Fue útil?

Solución

¿Ha tratado WS_EX_TRANSPARENT?

Creo que se puede establecer en el editor de recursos en Visual Studio, si estás usando eso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top