Ver Mensaje Individual
  #3  
Antiguo 08-09-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita