Pregunta

He estado investigando el esfuerzo necesario para que los elementos del menú se muestren en negrita, sin tener que dibujar el menú yo mismo, y descubrí el estado del elemento del menú MFS_DEFAULT después de buscar en Google. La documentación de MSDN menciona

  

MFS_DEFAULT
  Especifica que el menú   El elemento es el predeterminado. Un menú puede   contiene solo un elemento de menú predeterminado,   que se muestra en negrita.

Experimenté y parece que, a diferencia de la documentación, parece que puedo usar este indicador para mostrar múltiples (¡o posiblemente todos!) elementos de menú en negrita. ¿Alguien tiene alguna experiencia con esto, es decir, si hay algún inconveniente en tener múltiples elementos de menú en negrita? Me parece un poco hackear llegar a lo que estoy tratando de lograr y estoy un poco preocupado por los efectos secundarios desconocidos (es decir, tener múltiples elementos de menú 'predeterminados' en un solo menú).

EDITAR: también debo agregar que este artículo afirma que el MFS_DEFAULT la bandera no hace más que mostrar el elemento del menú en negrita; aun así, soy un poco cauteloso en contra de la documentación 'oficial' ...

EDIT2: El propósito de esto era decirle al usuario que el elemento del menú en cuestión (es decir, el que está en negrita) también se puede invocar haciendo doble clic en el control en cuestión (el elemento del menú es parte del menú contextual). Cuando pensé en este problema, no consideré el hecho de que, por lo general, solo un comando puede asociarse con el evento de doble clic (¡oh!). Como tal, he aceptado la respuesta de Zaphod (no responde esta pregunta directamente pero resolvió mi 'problema')

¿Fue útil?

Solución

¿Qué estás tratando de lograr?

Sospecho que la mayor objeción al uso de MFS_DEFAULT para un propósito diferente al que estaba destinado es que está violando una convención visual que Microsoft está tratando de promulgar sobre lo que significan los elementos en negrita del menú y cómo un usuario ( o un programa de asistencia, como un lector de pantalla) debe reaccionar al encontrar uno.

Si todo lo que intenta hacer es llamar la atención del usuario sobre algunos elementos del menú que son de particular interés, bueno, eso parece un poco extraño, pero también parece bastante inocente, y me sorprendería si te causó enormes problemas en el futuro. ¡Todo es posible, por supuesto! Aún así, me pregunto qué estabas haciendo exactamente.

Si está tratando de exponer parte del estado de su programa en negrita y en negrita, esto me parece un poco inesperado, pero odiaría emitir un juicio antes de escuchar los detalles.

Si tiene algún otro objetivo en mente, como tal vez cree que la fuente predeterminada para los menús es fea y le gusta más cuando todo está en negrita, entonces el método que descubrió podría ser conveniente, pero también podría sería una mejor manera de obtener exactamente lo que desea, que podríamos discutir con más detalle (tal vez en una pregunta separada) si estuviera dispuesto. Dudo que este sea el caso, pero ¿quién sabe?

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