Convertir un Menu en un TreeView
En este ejemplo se muestra de forma sencilla cómo «pasar» o convertir un Menu existente (componente TMainMenu) en un TTreeView; Conservando la jerarquía de los elementos y asignando las imágenes que ya existan en el ejemplo.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Muy buen ejemplo para explicar la recursividad.
Ahora faltaría (a modo de ejercicio) hacer el proceso inverso, es decir, dado un TreeView, cargar un Mainmenu.
Hola.
En esta otra entrada tienes cómo crear un menú a partir de un texto almacenado en un Memo:
http://neftali.clubdelphi.com/?p=182
El proceso de creación es el mismo si usas un Treeview que si usas un memo, así que con unos cambios mínimos puedes adaptarlo para lo que comentas.
Un saludo.
Tenías razón, con unos pocos cambios he conseguido cargar un Mainmenu a partir de un Treeview.
La pega es que la clase TTreeNode tiene pocas propiedades/métodos/eventos comparada con la clase TMenuItem, como por ejemplo las propiedades Hint, y Action, y el evento OnClick.
Creo que para resolver esto último, puedo usar la idea de las Clases interpuestas de Ian Marteens para engañar a Delphi.