Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Items de MainMenu a TreeView (https://www.clubdelphi.com/foros/showthread.php?t=14035)

MITOPE 08-09-2004 03:45:42

Items de MainMenu a TreeView
 
Hola amigos, estoy programando los perfiles de usuarios de un programita, para lo cual quiero usar el TreeView, para mostrar las opciones del menu principal del programa. He buscado en los hios antiguos , pero no he encontrado nada al respecto, no se si alguien me podria ayudar , para hacerlo.

Gracias.

roman 08-09-2004 04:00:40

Cita:

Empezado por MITOPE
no se si alguien me podria ayudar , para hacerlo.

Desde luego, si está en nuestras manos veremos qué se puede hacer...
...Tan pronto nos enteremos de cuál es la duda. :confused:

// Saludos

Neftali [Germán.Estévez] 08-09-2004 09:26:22

Cita:

Empezado por MITOPE
...para lo cual quiero usar el TreeView, para mostrar las opciones del menu principal del programa.

Coloca en tu form un MainMenú y un TreeView, opcionalmnte si quieres imágenes en los elementos coloca un ImageList con las imágenes y engánchalo a ambos componentes (para que las mismas imágenes que tienes en los elementos del menú te aparezcan en el Tree) y coloca un Tbutton con el siguiente código:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
//--------------------------------------------------------------------------
procedure 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:= TreeView1.Items.Add(Nil, Menu.Items[i].Caption);
         Nodo.ImageIndex := Menu.Items[i].ImageIndex;
     End
     Else begin
        // Crear un hijo
        Nodo:= TreeView1.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;
//--------------------------------------------------------------------------
 
begin
// Pasar el menú
VerificaMenu(MainMenu1.Items, Nil);
end;

Un saludo.

MITOPE 08-09-2004 18:15:00

Gracias Neftali , era justo lo que necesitaba , no se me habia ocurrido lo de la recursividad...por eso me salia otra cosa, nuevamente gracias


La franja horaria es GMT +2. Ahora son las 01:06:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi