microbiano
31-03-2012, 10:40:39
buenos dias amigos.
esa es la pregunta como paso un TmainMenu a un TTreeview, esto con la finalidad de poder otorgar permisos a mis usuarios
el Tmainmenu esta en el form principal de nombre FrmMenu, y el TTreeview esta en otro formulario de nombre FrmPermisos.
encontre esta rutina pero no logro hacerla funcionar.
procedure TFpermisos.VerificaMenu(Menu: TMenuItem; Nod: TTreeNode);
Var
i: Integer;
Nodo: TTreeNode;
Begin
// Para cada elemento del menu
for i:= 0 To (Menu.Count - 1) Do Begin
// Es un elemento correcto
If Not(Menu.Parent Is TMenuItem) then begin
// Crear el elemento asignarle el índice de la imagen
Nodo:= tv1.Items.Add(Nil, Menu.Items[i].Caption);
Nodo.ImageIndex := Menu.Items[i].ImageIndex;
End
Else begin
// Crear un hijo
Nodo:= tv1.Items.AddChild(Nod, Menu.Items[i].Caption);
Nodo.ImageIndex := Menu.Items[i].ImageIndex;
end;
// Llamada recursiva para los submenus
If Menu.Items[i].Count > 0 Then begin
VerificaMenu(Menu.Items[i], Nodo);
end;
End;
end;
y la llamo de la siguiente manera
VerificaMenu(FrmMenu.menuItem.Items,nil);
pero no logro hacerla funcionar alguna sugenrecia.?
de antemano muchas gracias amigos del foro
esa es la pregunta como paso un TmainMenu a un TTreeview, esto con la finalidad de poder otorgar permisos a mis usuarios
el Tmainmenu esta en el form principal de nombre FrmMenu, y el TTreeview esta en otro formulario de nombre FrmPermisos.
encontre esta rutina pero no logro hacerla funcionar.
procedure TFpermisos.VerificaMenu(Menu: TMenuItem; Nod: TTreeNode);
Var
i: Integer;
Nodo: TTreeNode;
Begin
// Para cada elemento del menu
for i:= 0 To (Menu.Count - 1) Do Begin
// Es un elemento correcto
If Not(Menu.Parent Is TMenuItem) then begin
// Crear el elemento asignarle el índice de la imagen
Nodo:= tv1.Items.Add(Nil, Menu.Items[i].Caption);
Nodo.ImageIndex := Menu.Items[i].ImageIndex;
End
Else begin
// Crear un hijo
Nodo:= tv1.Items.AddChild(Nod, Menu.Items[i].Caption);
Nodo.ImageIndex := Menu.Items[i].ImageIndex;
end;
// Llamada recursiva para los submenus
If Menu.Items[i].Count > 0 Then begin
VerificaMenu(Menu.Items[i], Nodo);
end;
End;
end;
y la llamo de la siguiente manera
VerificaMenu(FrmMenu.menuItem.Items,nil);
pero no logro hacerla funcionar alguna sugenrecia.?
de antemano muchas gracias amigos del foro