Cita:
Empezado por Neftali
En la sección de ejempos de mi página web tienes un par llamados: " Convertir un Menu en un TreeView" (para pasar de Treeview a Menu -Al contrario que el que necesitas-) y " Crear un menu de aplicación a partir de texto" (que genera al Menu a partir de un Texto, pero con estructura de árbol -similar a un Tree-).
Ambos están con código, y aunque no es exactamente lo que necesitas, creo que si les echas un vistazo no te costará mucho sacar lo que necesitas.
|
Aunque este post es un poco "viejuno", me ha surgido recientemente este mismo problema,
y siguiendo estos dos ejemplos, he podido cargar un Mainmenu a partir de un Treeview mediante este código (muy básico)
Código Delphi
[-]
Poner en el uses la unit Contnrs
procedure TForm1.CargarMenuDeArbol(aMenu: TMenu; Arbol: TTreeView);
var
itemStack: TStack;
level: Integer;
i: Integer;
newitem: TMenuItem;
begin
level := 0;
itemstack := TStack.Create;
try
itemstack.Push(aMenu.Items);
for i := 0 to Arbol.Items.count - 1 do
begin
newitem :=
Menus.NewItem(Arbol.Items.Item[i].Text, 0, false, true, nil, 0, 'mni'+IntToStr(i));
newitem.ImageIndex := Arbol.Items.Item[i].ImageIndex;
while level > Arbol.Items.Item[i].level do
begin
itemstack.Pop;
Dec(level);
end;
TMenuItem(itemstack.Peek).Add(newitem);
Itemstack.Push(newitem);
Inc(level);
end;
finally
itemstack.free;
end;
end;