Lo más simple para realizar menus dinámicos es creando una tabla que tenga 4 campos; indicando lo siguiente:
1. Campo1: CodigoPropio c(3)
2. Campo2: CodigoaBuscar c(3)
3. Campo3: Item c(40)
4. Campo4: Accion c(50)
Entonces:
1. En el campo1 tendrías un código del ítem.
2. En el campo2 pones un código de los Item relacionados a buscar al hacer clic sobre éste item.
3. En el campo3 tendrías El nombre del Item, (Archivo, Informe, Edición, etc.).
4. En éste campo4 escribes la acción a realizar al hacer clic en éste registro.
Veamos un ejemplo de como estarían cargados los campos:
Campo1, Campo2, Campo3, Campo4
100, 101, Archivo, <<vacío>>.
100, 201, Informes, <<vacío>>.
100, 301, Edición, <<vacío>>.
101, 100, Volver a menú principal.., <<vacío>>.
101, 000, Clientes, DO FORM Clientes.
101, 000, Proveedores, DO FORM Proveedores.
201, 100, Volver a menú principal.., <<vacío>>.
201, 100, Informe de Ventas, DO Informe.
301, 100, Volver a menú principal.., <<vacío>>.
301, 100, Modificar Datos del Cliente, DO FORM cambioscliente
Podrías crear una grilla en el escritorio en el que se muestre solamente los datos del campo3 (es decir solo los items) y mediante el comando SQL-SELECT o SET FILTER filtras por ejemplo, suponiendo que usas FILTER.
1. Cuando inicia el formulario debe verse el menú principal: entonces la orden sería; SET FILTER TO Campo1=100. Es decir que solo se vería en la lista -siguiendo con el ejemplo anterior- Archivo, Informe, Edición.
2. Cuando haces clic o doble clic en alguna de las opciones -supongamos que lo haces sobre Archivos- el sistema debe leer el campo4 que corresponde a la acción a realizar, pero si esta estubiese vacía haría un SET FILTER según el campo2... entonces en éste caso, viendo que la acción a realizar está vacía lee en el campo2 el valor 101 y hace un SET FILTER TO campo1=101, con lo que verías -Volver al menú principal, Clientes, Proveedores-
3. En cambio si al hacer clic sobre un item éste contuviese información en el campo de acción -campo4- leer la acción a realizar y ejecutarla como tal.
...
Bueno es la idea para hacer un menú simple pero práctico de manipular y actualizar;