Pregunta

Estoy tratando de fusionar dos menús principales juntos, pero estoy teniendo problemas para obtener el resultado correcto con los subtemas. Estoy usando la propiedad groupIndex en mis MenuItems para controlar la fusión / inserción.

Menú1 (con groupindices) es como este

  • File = 10
    • Open = 11
    • Cerca = 12
  • Editar = 20
    • Cut = 21
    • Pegar = 22
  • Ayuda = 90
    • Acerca = 91

Menú2 es como esto

  • Editar = 20
    • Clear = 23
  • Reproductores = 30
    • Widget1 = 31
    • WIDGET2 = 32

Y lo estoy haciendo

  Menu1.Merge(Menu2);

quiero el menú combinado para tener un nuevo menú superior "Widgets" y un nuevo comando "Borrar" en el menú Editar. "Widgets" está trabajando muy bien, pero el menú Editar ha perdido cortar y pegar, que no era lo que quería.

¿Cómo puedo evitar los comandos Cortar y Pegar de desaparecer?

¿Fue útil?

Solución

La función de combinación de menú en Delphi funciona de forma diferente a lo que se espera: es no recursivo (por desgracia!). Esto significa que cuando se llama a Menu1.Merge, menú "Editar" de Menú1 obtiene sustituyen por Menú2 de.

Existen dos opciones:

  • Añadir "Cortar" y "Pegar" manualmente a Menú2.
  • Escriba su propia función Combinar.

Yo tenía el mismo problema hace un tiempo (ver esta cuestión de forma ):

  

Lo que finalmente terminó con, es   utilizando la    Toolbar2000   empaquetar para todos mis menús y barras de herramientas.   A continuación, puede descargar una muy agradable   pieza de código, llamado    TB2Merge ,   que hace exactamente lo que quiere.

También puede basar cualquier código de combinación de menú personalizado-escrito en TB2Merge, supongo ...

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