lunes, 12 de octubre de 2009

MDI con Menu Treeview

Hola a todos, despues de mucho tiempo posteando, bueno nose si sera el nombre correcto (MDI con Menu Treeview) quizas sea mejor MDI dividido; bueno es lo de menos. Seguiremos los sgtes pasos:

1 - Suponiendo que ya tenemos nuestro window mdi (ejemplo w_frame)
2 - Suponiendo tambien que tenemos nuestro menu principal (ejemplo m_frame)
3 - Crearemos un Objeto Window (w_menu_treeview), tipo Child, al cual le agregaremos un objeto TreeView.

4 - Activar la propiedad LinesAtRoot del Objeto TreeView, esto nos permite mostrar el desplazamiento al estilo explorer.

5 - En el Evento Open de w_frame copiar y pegar este script:

//Se abre w_menu_treeview
Open(w_menu_treeview, This)

//Posicionando w_menu_treeview a un lado del frame
w_menu_treeview.Y = w_menu_treeview.Y + 112

6 - En el Evento Resize de w_frame copiar y pegar este script:

IF IsValid(w_menu_treeview) THEN
w_menu_treeview.Height = NewHeight - w_menu_treeview.Y - mdi_1.MicroHelpHeight
mdi_1.Width = NewWidth - w_menu_treeview.Width
mdi_1.Height = w_menu_treeview.Height
END IF

7 - En el Evento Constructor del Objeto TreeView de w_menu_treeview, solo por dar un ejemplo copiar y pegar este script:

Long ll_Expandir, ll_Item, ll_SubItem

ll_Item = tv_1.InsertItemLast(0,"Archivo", 1)

ll_SubItem = tv_1.InsertItemLast(ll_Item,"Window", 2)

ll_Expandir = tv_1.FindItem( RootTreeItem!, 0 )
tv_1.ExpandAll( ll_Expandir )

8 - En el Evento SelectionChanged del Objeto TreeView de w_menu_treview, tambien para el ejemplo copiar y pegar este script:

Integer li_Ind
String ls_MenuEtiqueta

TreeViewItem l_tvi

This.GetItem(NewHandle, l_tvi)

ls_MenuEtiqueta = l_tvi.Label

Choose Case ls_MenuEtiqueta
Case "Window"
OpenSheet(w_window, w_frame, 1, Original!)
End Choose


Disculpas por no subir imagenes, estoy en el trabajo y mi explorer es limitado. Pueden descargar el archivo ejemplo de:

http://www.megafileupload.com/en/file/143776/MDI-Treeview-rar.html