Ver Mensaje Individual
  #3  
Antiguo 24-02-2010
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Reputación: 23
defcon1_es Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
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
      // crear el elemento
      newitem :=
        Menus.NewItem(Arbol.Items.Item[i].Text, 0, false, true, nil, 0, 'mni'+IntToStr(i));
//      newitem.Hint := Arbol.Items.Item[i].Text; 
      newitem.ImageIndex := Arbol.Items.Item[i].ImageIndex;
      while level > Arbol.Items.Item[i].level do
      begin
        itemstack.Pop;
        Dec(level);
      end;
      // Añadirlo
      TMenuItem(itemstack.Peek).Add(newitem);
      Itemstack.Push(newitem);
      Inc(level);
    end;
  finally
    itemstack.free;
  end;
end;
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita