Ver Mensaje Individual
  #5  
Antiguo 24-08-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Pide una consulta ordenada por nivel, así ya puedes crear primero el A.1 y haces un bucle recorriendo esa consulta, mientras que el nivel sea el mismo, añades dentro, y cuando el nivel sea distinto, saltas de MenuItem.

Necesitarás una variable NivelActual:integer, para comparar el nivel del elemento que quieres crear con el último que se creó.

Tambien te será util una variable ElPadre:Tmenuitem, que al cambiar de nivel, lo vas cambiando, y te sirves de él para añadir dentro los submenus.


Código Delphi [-]
var ElPadre:Tmenuitem;
     NivelActual : integer;
begin
  nivelactual := 1;
  elpadre := MenuPpal; //  es un menú existente.
  while not query1.eof do
  begin
     a := TMenuItem.Create(form1);
     a.Caption:= query1.fieldbyname('Caption').AsString;
     elpadre.Add(a);

     if query1.fieldbyname('nivel').asInteger - nivelactual > 0  then
     // es un nuevo SubMenu
        elpadre := a

    query1.next;
end;

Espero que me haya explicado.

Si necesitas más ayuda, dinos exactamente que guardas en esa tabla, todos los campos y definición de cada uno.

Un saludo
Responder Con Cita