Cómo verificar qué tema de XP está habilitado
-
08-07-2019 - |
Pregunta
Tengo un wxPython que funciona perfectamente en el tema de la ventana xp pero al cambiar al texto enriquecido de "tema clásico" cntrl aparece sin borde. Puedo habilitar el borde para el tema clásico pero para eso
Q1. Necesito saber si el tema clásico está habilitado.
Q2.También no estoy seguro de cuántos temas diferentes podrían existir, lo que puede romper la apariencia de mi aplicación. Entonces, ¿cuál podría ser la mejor manera de evitarlo?
Q3. ¿Puedo aplicar un tema para una aplicación determinada? p.ej. desde python puedo cargar cualquier DLL de Windows y llamar a funciones, pero ¿hay alguna forma de hacerlo?
Editar: en mi caso, ctypes.windll.UxTheme.IsThemeActive () funcionó
Solución
La temática clásica no es un tema. Comprueba la temática clásica llamando a IsAppThemed ( ) en UxTheme.dll
Por lo tanto, debería haber pocas razones para preocuparse por los diferentes temas.
Por último, la única opción que obtienen las aplicaciones es si intentan admitirlos o no, al incluir un manifiesto que especifica que se utilizarán los nuevos controles comunes. Las aplicaciones que no incluyen el manifiesto nunca serán temáticas. Las aplicaciones que lo hagan serán temáticas según las preferencias de los usuarios.