Código para ampliar el menú principal de NETCF para admitir la propiedad de color de fondo

StackOverflow https://stackoverflow.com/questions/164915

  •  03-07-2019
  •  | 
  •  

Pregunta

He buscado la solución para cambiar el color de fondo en el control MainMenu de Compact Framework, y la única respuesta que he encontrado es que necesita crear un control personalizado. ¿Alguien tiene código de ejemplo para esto?

¿Fue útil?

Solución

No hay forma de hacer esto.
Es probable que tenga derecho a crear su propio control.

Esto era algo que estaba considerando hacer de todos modos para hacer que la aplicación se ejecute en Windows CE y Windows Mobile.
El problema con agregar menús cuando la aplicación necesita trabajar con ambos es que el menú va a la parte superior de la pantalla en Windows CE y cubre los controles que puedan estar allí.
Sería menos molesto a largo plazo, simplemente haga un nuevo control.

Otros consejos

Hice algo vagamente similar donde quería manejar el mensaje WM_EXITMENULOOP que no estaba disponible como evento en .NETCF.

La solución fue " subclase " el Menú principal, un antiguo truco de MFC en el que reemplaza la función WndProc con la suya, maneja cualquier mensaje de Windows (WM_EXITMENULOOP en mi caso) y llama a la clase base WndProc para cualquier otra cosa.

Algún código de muestra está disponible en el blog de Alex Yakhnin sobre cómo subclasificar un control: Ejemplo de subclasificación de una ventana en .NETCF

En su caso, en realidad estaría subclasificando el formulario en el que reside MainMenu, y creo que WM_DRAWITEM sería el mensaje de Windows que desearía manejar usted mismo. No he intentado cambiar el color de fondo, así que no estoy seguro de que esto funcione, pero la subclase sería donde empezaría.

Hace un tiempo intenté hacer algo similar y descubrí que tienes que escribir tu propio menú; esencialmente desde cero. Me rendí porque el proyecto en el que estaba trabajando no podía costear el gasto. También descubrí que OpenNETCF tiene un control de menú bastante impresionante. No sé si está incluido en su software gratuito, pero vale la pena investigarlo.

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