Sunteți pe pagina 1din 8

19/2/2014

Inicio

Tutorial Visual basic - Formulario MDI


Eje m plos vb

O cx - Active x

Api vb

Tutoriale s - Manuale s

C digo fue nte

Eje m plos vb.ne t

Seccin de tutoriales y manuales vb

Buscar

Ejemplo de un editor de texto usando formularios MDI


Volver al ndice

Google Adwords
www.google.com.mx
Coloca Tu Empresa en Google.
Invierte $200 Recibe $600. Hoy!

El siguiente ejemplo es un editor de texto muy


simple utilizando un formulario Mdi, y formularios
secundarios o hijos para cada archivo de texto,
es decir similar a como lo hace el Word u otras
aplicaciones que utilizan mltiples documentos

Crear un editor de texto simple utilizando forms


mdi
Enalces relacionados con Mdi

1 - Pasos para crear el ejemplo:


Iniciar un nuevo proyecto Exe, aadir un formulario MDI y dejarlo por defecto con el nombre Mdi
Form1. Tambin agregar un formulario y renombrarlo a FrmDocumento
Las opciones que tendr el editor sern:
1. En el men Archivo: Abrir, Nuevo, guardar , guardar como y salir
2. El men Edicin : Copiar, Cortar, Pegar y seleccionar Todo.

La vista de los menes quedar similar a los siguientes grficos:

El men Archivo:

http://www.recursosvisualbasic.com.ar/htm/tutoriales/visual-basic-mdi.htm

1/8

19/2/2014

Tutorial Visual basic - Formulario MDI

El men Edicin:

Los nombres de los menues debern ser los siguientes:


Men Archivo:
1.
2.
3.
4.
5.

Abrir: mnuAbrir
Nuevo: mnuNuevo
Guardar: mnuGuardar
Guardar Como: mnuGuardarComo
Salir: mnuSalir

Men edicin
1.
2.
3.
4.

Copiar: mnuCopiar
Cortar: mnuCortar
Pegar: mnuPegar
Seleccionar todo: mnuSeleccionar

Nota: si no sabs como crear los menes con el editor de visual basic, pods chequear este enlace
que explica resumidamente como crear uno:
Crear menes en visual basic

Ahora hay que especificar en el formulario Mdi, en la propiedad MdiChild, que se encuentre en True,
para que de esta manera los formularios se abran dentro de este.
Ahora indicar en el men Proyectos > Propiedades de proyecto, que el formulario de inicio sea el MDI,
en la opcin Objecto inicial.

http://www.recursosvisualbasic.com.ar/htm/tutoriales/visual-basic-mdi.htm

2/8

19/2/2014

Tutorial Visual basic - Formulario MDI

Luego agregar un control CommonDialog llamado CommonDialog1 en el formulario Mdi y tambin otro en
el formulario frmDocumento para poder utilizar los Cuadros de dilogo Abrir Archivo y Guardar
como. ( El control CommonDialog lo acceds desde el men proyecto, Componentes > Microsoft
Common Dialog Control ).
En el formulario frmDocumento, colocar un control RichTextBox llamado RichTextBox1 y establecerle
a este desde la ventana de propiedades, la propiedad Multiline en True, La propiedad Scrollbars en 3.
( opara que muestre Ambas barras de desplazamiento)
Por ltimo colocar un mdulo bas al proyecto

Agregar el cdigo fuente a los formularios y al mdulo bas

Cdigo fuente a colocar en el Formulario Mdi

Option Explicit
Private Sub MDIForm_Initialize()
CommonDialog1.Filter = "Documento de texto|*.txt|Todos los Archivos|*.*"
End Sub
'Men abrir
Private Sub mnuAbrir_Click()
On Error GoTo errSub
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
Set FrmDoc = New frmDocumento
FrmDoc.Show
ActiveForm.Caption = CommonDialog1.FileName
http://www.recursosvisualbasic.com.ar/htm/tutoriales/visual-basic-mdi.htm

3/8

19/2/2014

Tutorial Visual basic - Formulario MDI

ActiveForm.RichTextBox1.LoadFile CommonDialog1.FileName
End If
Exit Sub
errSub:
Select Case Err.Number
Case 70
ActiveForm.RichTextBox1.LoadFile CommonDialog1.FileName
Resume Next
End Select
End Sub

'Menu Guardar Como


Private Sub mnuGuarcomo_Click()
On Error GoTo errSub
If Forms.Count = 1 Then
MsgBox "No hay documentos para guardar", vbInformation
Exit Sub
End If
CommonDialog1.ShowSave
If CommonDialog1.FileName = "" Then Exit Sub
ActiveForm.RichTextBox1.SaveFile CommonDialog1.FileName

Exit Sub
errSub:
Select Case Err.Number
Case 91
Resume Next
End Select
End Sub

'Men para guardar el archivo


Private Sub mnuGuardar_Click()
On Error GoTo errSub
If Forms.Count = 1 Then
MsgBox "No hay documentos para guardar", vbInformation
Exit Sub
End If
If InStr(1, ActiveForm.Caption, sCaption) Then
CommonDialog1.ShowSave
If CommonDialog1.FileName = "" Then Exit Sub
ActiveForm.RichTextBox1.SaveFile CommonDialog1.FileName
Else
ActiveForm.RichTextBox1.SaveFile ActiveForm.Caption
End If
Exit Sub
http://www.recursosvisualbasic.com.ar/htm/tutoriales/visual-basic-mdi.htm

4/8

19/2/2014

Tutorial Visual basic - Formulario MDI

errSub:
Select Case Err.Number
Case 91
Resume Next
End Select
End Sub
'Men nuevo archivo
Private Sub mnuNuevo_Click()
Set FrmDoc = New frmDocumento
nForms = nForms + 1
FrmDoc.Caption = sCaption & nForms
FrmDoc.Show
End Sub
'Men pegar
Private Sub mnuPegar_Click()
On Local Error Resume Next
ActiveForm.RichTextBox1.SelText = Clipboard.GetText
End Sub
'Men salir
Private Sub mnuSalir_Click()
Set FrmDoc = Nothing
End
End Sub
'Menu para seleccionar todo el texto
Private Sub mnuSeleccionar_Click()
On Local Error Resume Next
ActiveForm.RichTextBox1.SelStart = 0
ActiveForm.RichTextBox1.SelLength = Len(ActiveForm.RichTextBox1.Text)
End Sub

'Men Copiar texto


Private Sub mnuCopiar_Click()
On Local Error Resume Next
Clipboard.SetText ActiveForm.RichTextBox1.SelText
End Sub
'Men cortar texto
Private Sub mnuCortar_Click()
On Local Error Resume Next
Clipboard.SetText ActiveForm.RichTextBox1.SelText
ActiveForm.RichTextBox1.SelText = ""
End Sub

Cdigo fuente a colocar en el formulario frmDocumento

Option Explicit
Public flagGuardar As Boolean

Private Sub Form_Resize()


'Redimensionamos el control RichtextBox al ancho y alto del formulario
http://www.recursosvisualbasic.com.ar/htm/tutoriales/visual-basic-mdi.htm

5/8

19/2/2014

Tutorial Visual basic - Formulario MDI

RichTextBox1.Move ScaleLeft, ScaleTop, ScaleWidth, ScaleHeight


If WindowState = vbMaximized Then
'mdiform1.Caption = Me.Caption
Else
mdiform1.Caption = ""
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)


On Error GoTo errSub
Dim ret As Integer
If flagGuardar Then
ret = MsgBox(" Guardar cambios", vbYesNoCancel)
End If
Select Case ret
Case vbYes:
If InStr(1, Me.Caption, sCaption) Then
CommonDialog1.ShowSave
RichTextBox1.SaveFile CommonDialog1.FileName
Else
RichTextBox1.SaveFile Me.Caption
End If
Case vbCancel:
Exit Sub
End Select
Set FrmDoc = Nothing

Exit sub
errSub:
Select Case Err.Number
Case 75
Resume Next
End Select
End Sub
Private Sub RichTextBox1_Change()
flagGuardar = True
End Sub

Cdigo fuente a colocar en el Mdulo bas

Public FrmDoc As frmDocumento


Public nForms As Integer
Public Const sCaption = "Nuevo documento sin ttulo "

http://www.recursosvisualbasic.com.ar/htm/tutoriales/visual-basic-mdi.htm

6/8

19/2/2014

Tutorial Visual basic - Formulario MDI

En este enlace est el cdigo fuente para descargar del proyecto anterior, que incluye una barra de
herramientas para las opciones ( abrir, guardar etc.. ) y un cuadro de buscar y reemplazar para los
documentos

vista previa del mdi

Descargar notepad con mdi

Nota. Si quers poder aadir en el men archivo del formulario Mdi, la lista de los archivos abiertos
recientemente por el programa ( como lo hacen muchas aplicaciones que utilizan formularios MDI, como
por ejemplo el Word, o inicluso el Visual basic ), pods ver este ejemplo que graba en el registro de
windows las rutas de los ficheros, y al cargar crea en forma dinmica los menes en tiempo de
ejecucin. Luego al hacer click en el elemento del men se ejecuta el archivo
Por ejemplo como muestra esta imagen:

http://www.recursosvisualbasic.com.ar/htm/tutoriales/visual-basic-mdi.htm

7/8

19/2/2014

Tutorial Visual basic - Formulario MDI

Crear lista de archivos recientes en un men

Relacionados - Recursos vb6


Ejemplo para minimizar, vista en cascada, Mosaico etc..
Ocx para colocar una imagen o grfico en un formulario Mdi
Tener solo un formulario abierto en un MDI
Interceptar una tecla con el Api
Mdi con fichas o pestaas

Enlaces - Recursos vb.net


Crear instancias de un Child form

Volver al men - tutorial de controles de visual basic

Buscar en Recursos vb
Buscar

visual basic
Buscar
www.recursosvisualbasic.com.ar
Recursos

http://www.recursosvisualbasic.com.ar/htm/tutoriales/visual-basic-mdi.htm

Privacidad

Copyright

2005

2009

8/8

S-ar putea să vă placă și