capítulo 8 vs basic - cuadros de diálogo comunes-mat del alumno

8
(16) Mini Editor Caption Name Shortcut &Archivo Archivo ....&Nuevo ArchivoNuevo Ctrl+N ....A&brir ArchivoAbrir Ctrl+A ....- LíneaSeparadoral ....&Guardar ArchivoGuardar Ctrl+G ....- LíneaSeparadora2 ....&Imprimir ArchivoImprimir Ctrl+I ....- LíneaSeparadora3 ....&Salir ArchivoSalir Ctrl+S &Edición Edición ....&Copiar EdiciónCopiar Ctrl+C ....C&ortar EdiciónCortar Ctrl+X ....&Pegar EdiciónPegar Ctrl+V &Formato Formato ....F&uente FormatoFuente Ctrl+F Control Propiedad Valor Form1 Name Forml Caption Mi Editor Icon C:\Gráficos\ Note14.icon TextBox Name Textl Multiline True ScrollBars 3-Both Text (Texto) Propiedad Valor ImageList ImageListl Appearance 1-cc3D Style 1-tbrFlat Index Key ToolTipText Image Imagenl 1 BotónNuevo Nuevo 1 Imagen2 2 BotónAbrir Abrir 2 Imagen3 3 BotónGuardar Guardar 3 Imagen4 4 BotónImprimir Imprimir 4 Imagen5 5 BotónCopiar Copiar 5 Imagen6 6 BotónCortar Cortar 6 Imagen7 7 BotónPegar Pegar 7 Ing. Hermas Herrera Callejas Página : 1 de 6

Upload: marcelorod

Post on 06-Nov-2015

5 views

Category:

Documents


0 download

DESCRIPTION

Capítulo 8 vs Basic - Cuadros de Diálogo Comunes-Mat Del Alumno

TRANSCRIPT

(16) Mini Editor

CaptionNameShortcut

&ArchivoArchivo....&NuevoArchivoNuevoCtrl+N....A&brirArchivoAbrirCtrl+A....-LneaSeparadoral....&GuardarArchivoGuardarCtrl+G....-LneaSeparadora2....&ImprimirArchivoImprimirCtrl+I....-LneaSeparadora3....&SalirArchivoSalirCtrl+S&EdicinEdicin....&CopiarEdicinCopiarCtrl+C....C&ortarEdicinCortarCtrl+X....&PegarEdicinPegarCtrl+V&FormatoFormato....F&uenteFormatoFuenteCtrl+F

ControlPropiedadValor

Form1NameForml

CaptionMi Editor

IconC:\Grficos\Note14.icon

TextBoxNameTextl

MultilineTrue

ScrollBars3-Both

Text(Texto)

PropiedadValor

ImageListImageListlAppearance1-cc3DStyle1-tbrFlat

Index Key ToolTipText Image

Imagenl1BotnNuevoNuevo1

Imagen2 2BotnAbrirAbrir2

Imagen3 3BotnGuardar Guardar3

Imagen4 4BotnImprimir Imprimir4

Imagen55BotnCopiarCopiar5

Imagen6 6BotnCortarCortar6

Imagen7 7BotnPegarPegar7

Insertar un control StatusBar en el formulario.

Valores para cada uno de los paneles:

Index MinimumWidth Picture

Panel 1 11800C:\Graficos\Nota.bmp

Panel 2 21440C:\Graficos\Mano_tecla.bmp

Panel 3 3144000C:\Graficos\Relojl .bmp

Option Explicit

'La variable Modificado permitir saber si hubo

'alguna modificacin en el archivo

Public Modificado, rpta As Boolean

'La variable Canal servir para obtener un nmero de canal libre

Public Canal As Integer

Private Sub Form_Load()

Dim i As Integer

'Centra el formulario en la pantalla

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2

'Establece el ttulo de la ventana

Caption = "Mi Editor"

'Establece que el texto que se escriba sea de tipo arial

Text1.FontName = "Arial"

'Establece que por defecto 10 sea el tamao del texto

Text1.FontSize = 10

'Desactiva la opcin Copiar del men Edicin

EdicinCopiar.Enabled = False

'Desactiva la opcin Cortar del men Edicin

EdicinCortar.Enabled = False

'Activa o desactiva la opcin Pegar del men Edicin

'dependiendo de si el portapapeles contiene o no texto

EdicinPegar.Enabled = (Len(Clipboard.GetText()) > 0)

'Desactiva la opcin Fuente del men Formato

FormatoFuente.Enabled = False

'Habilita o deshabilita el botn pegar de la barra de herramientas

'dependiendo de si el portapapeles contiene o no texto

Toolbar1.Buttons(7).Enabled = (Len(Clipboard.GetText()) > 0)

'Asigna el estado de la tecla Caps Lock (Bloqueo Mays)

al panel 2 de la barra de estado

StatusBar1.Panels(2).Style = sbrCaps

Asigna la hora del sistema al panel 3 de la barra de estado

StatusBar1.Panels(3).Style = sbrTime

End Sub

Private Sub Form_Resize()

Text1.Top = 440

Text1.Left = 0

Text1.Width = ScaleWidth

Text1.Height = ScaleHeight - 740

End Sub

Private Sub ArchivoNuevo_Click()

Call Nuevo Call llama al procedimiento Nuevo

End Sub

Private Sub ArchivoAbrir_Click()

Call Abrir CalI llama al procedimiento Abrir.

End Sub

Private Sub ArchivoGuardar_Click()

Call Guardar Call llama al procedimiento Guardar.

End Sub

Private Sub ArchivoImprimir_Click()

Call Imprimir Call llama al procedimiento Imprimir.

End Sub

Private Sub ArchivoSalir_Click()

EndTermina la ejecucin del programa.

End Sub

Private Sub EdicinCopiar_Click()

Call CopiarCall llama al procedimiento Copiar

End Sub

Private Sub EdicinCortar_Click()

Call CortarCall llama al procedimiento Cortar

End Sub

Private Sub EdicinPegar_Click()

Call PegarCall llama al procedimiento Pegar

End Sub

Private Sub FormatoFuente_Click()

Call FuenteCall llama al procedimiento Fuente

End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Key

Case "BotnNuevo"

Call Nuevo

Case "BotnAbrir"

Call Abrir

Case "BotnGuardar"

Call Guardar

Case "BotnImprimir"

Call Imprimir

Case "BotnCopiar"

Call Copiar

Case "BotnCortar"

Call Cortar

Case "BotnPegar"

Call Pegar

End Select

End Sub

Public Sub Nuevo()

'Procedimiento para editar un nuevo archivo

'Guarda las modificaciones realizadas en el archivo

If Modificado Then

rpta = MsgBox("Desea guardar los cambios realizados en el documento?", vbYesNo, "Mi Editor")

If rpta = vbNo Then

Exit Sub

Else

Call Guardar

End If

End If

Form1.Caption = "(Sin ttulo)"

'Borra el contenido actual del cuadro de texto Text1

Text1.Text = " "

Text1.FontName = "Arial" 'Establece la fuente de tipo arial

Text1.FontSize = 10 'Establece el tamao de la fuente

Text1.FontBold = False 'Desactiva la propiedad FontBold (Negrita)

Text1.FontItalic = False 'Desactiva la propiedad FontItalic (Cursiva)

'Desactiva la propiedad FontUnderline(Subrayado)

Text1.FontUnderline = False

'Desactiva la propiedad FontStrikethru(Tachado)

Text1.FontStrikethru = False

'Establece un color (negro) para el texto

Text1.ForeColor = RGB(0, 0, 0)

'Desactiva el indicador de Modificado

Modificado = False

End Sub

Public Sub Abrir()

'Procedimiento para abrir un archivo de texto

Dim Cadena1, Cadena2 As String

Dim Nmero1, Nmero2 As Long

Dim Estado1, Estado2, Estado3, Estado4 As Boolean

'Guarda las modificaciones realizadas en el archivo

If Modificado Then

rpta = MsgBox("Desea guardar los cambios realizados en el documento?", vbYesNo, "Mi Editor")

If rpta = vbNo Then

Exit Sub

Else

Call Guardar

End If

End If

'Si ocurre un error, ejecutar ManipularErrorAbrir

On Error GoTo ManipularErrorAbrir

'Muestra un mensaje en el primer panel de la barra de estado

StatusBar1.Panels(1).Text = "Abriendo archivo"

'Fijar las propiedades necesarias

With CuadroDeDilogo

'Generar un error cuando pulse cancelar en dilogo abrir

.CancelError = True

'Filtros

.Filter = "Archivo de texto|*.txt|Todos los archivos|*.*"

'Filtro por defecto

.FilterIndex = 2

'Extensin por defecto que se aadir al nombre del archivo

.DefaultExt = "Txt"

'El usuario solo podr introducir nombres de archivos existentes

.Flags = cdlOFNFileMustExist

'Visualiza el cuadro de dilogo Abrir

.ShowOpen

'Obtiene un nmero de canal libre

Canal = FreeFile

Open .FileName For Input As Canal

'Muestra el nombre del archivo en la barra de ttulo del formulario

Form1.Caption = .FileName

End With

'Borra el texto actual del control Text1

Text1.Text = " "

Input #Canal, Cadena1, Cadena2, Nmero1, Estado1, Estado2, Estado3, Estado4, Nmero2

With Text1

.Text = Cadena1

.FontName = Cadena2

.FontSize = Nmero1

.FontBold = Estado1

.FontItalic = Estado2

.FontUnderline = Estado3

.FontStrikethru = Estado4

.ForeColor = Nmero2

End With

Close #Canal 'Cierra el archivo

'Borra el mensaje del primer panel de la barra de estado

StatusBar1.Panels(1).Text = " "

Modificado = False 'Desactiva el indicador de modificado

Exit Sub

ManipularErrorAbrir:

If Err.Number = 32755 Then

StatusBar1.Panels(1).Text = " "

Exit Sub

Else

MsgBox "Error desconocido al abrir el archivo"

End If

End Sub

Public Sub Guardar()

'Procedimiento para guardar un archivo de texto

On Error GoTo ManipularErrorGuardar

StatusBar1.Panels(1).Text = "Guardando archivo"

With CuadroDeDilogo

.CancelError = True

.DefaultExt = "txt"

.Filter = "Texto|*.txt|Todos los archivos|*.*"

'Muestra un mensaje preguntando si desea sobreescribir el archivo

.Flags = cdlOFNOverwritePrompt

'Muestra el cuadro de dilogo Guardar como

.ShowSave

Canal = FreeFile

Open .FileName For Output As #Canal

Form1.Caption = .FileName

End With

'Escribir en el archivo los datos necesarios

With Text1

Write #Canal, .Text, .FontName, .FontSize, .FontBold, .FontItalic, .FontUnderline, .FontStrikethru, .ForeColor

End With

Close #Canal

StatusBar1.Panels(1).Text = " "

Modificado = False

Exit Sub

ManipularErrorGuardar:

If Err.Number = 32755 Then

StatusBar1.Panels(1).Text = " "

Exit Sub

Else

MsgBox "Error desconocido al guardar el archivo"

End If

End Sub

Public Sub Imprimir()

'Procedimiento para imprimir el aspecto actual del formulario

Dim copias As Byte

On Error GoTo ManipularErrorImprimir

StatusBar1.Panels(1).Text = "Imprimiendo archivo"

With CuadroDeDilogo

.CancelError = True

.Flags = cdlPDNoSelection Or cdlPDNoPageNums Or cdlPDHidePrintToFile

.PrinterDefault = True

'Muestra el cuadro de dilogo Imprimir

.ShowPrinter

copias = .Copies

End With

'Fijar el nmero de copias

Printer.Copies = copias

'Tomar el estilo de texto

Printer.Font = Text1.Font

'Imprimir el texto actual

Printer.Print Text1.Text

Printer.EndDoc 'Fin de impresin

StatusBar1.Panels(1).Text = " "

Exit Sub

ManipularErrorImprimir:

If Err.Number = 32755 Then

StatusBar1.Panels(1).Text = " "

Exit Sub

Else

MsgBox "Error desconocido"

End If

End Sub

Public Sub Copiar()

'Una copia del texto seleccionado en el cuadro de texto

'Text1 pasa al portapapeles (Clipboard)

Clipboard.SetText Text1.SelText

'Activa la opcin Pegar del men Edicin

EdicinPegar.Enabled = True

'Activa el boton Pegar de la barra de erramientas

Toolbar1.Buttons(7).Enabled = True

End Sub

Public Sub Cortar()

'Una copia del texto seleccionado en el cuadro de texto

'Text1 pasa al portapapeles (Clipboard)

Clipboard.SetText Text1.SelText

'Borra el texto seleccionado

Text1.SelText = ""

'Inhabilita la opcin Copiar del men Edicin

EdicinCopiar.Enabled = False

'Habilita la opcin Pegar del men Edicin

EdicinPegar.Enabled = True

'Inhabilita la opcin Fuente del men Formato

FormatoFuente.Enabled = False

'Inhabilita el boton Copiar de la barra de herramientas

Toolbar1.Buttons(5).Enabled = False

'Inhabilita el boton Cortar de la barra de herramientas

Toolbar1.Buttons(6).Enabled = False

'Habilita el boton Pegar de la barra de herramientas

Toolbar1.Buttons(7).Enabled = True

End Sub

Public Sub Pegar()

'Transfiere texto desde el portapapeles hacia el cuadro de texto Text1

Text1.SelText = Clipboard.GetText()

End Sub

Public Sub Fuente()

'Procedimiento que modifica el estilo del texto

On Error GoTo ManipularErrorFuente

StatusBar1.Panels(1).Text = "Aplicando estilo"

With CuadroDeDilogo

.CancelError = True

'Fijar el estilo actual en el cuadro de dilogo

.FontName = Text1.FontName

.FontSize = Text1.FontSize

.FontBold = Text1.FontBold

.FontItalic = Text1.FontItalic

.FontUnderline = Text1.FontUnderline

.FontStrikethru = Text1.FontStrikethru

.Color = Text1.ForeColor

.Flags = cdlCFBoth Or cdlCFEffects

'Muestra el cuadro de dilogo Fuente

.ShowFont

'Aplica al cuadro de texto Text1 el estilo elegido

Text1.FontName = .FontName

Text1.FontSize = .FontSize

Text1.FontBold = .FontBold

Text1.FontItalic = .FontItalic

Text1.FontUnderline = .FontUnderline

Text1.FontStrikethru = .FontStrikethru

Text1.ForeColor = .Color

End With

StatusBar1.Panels(1).Text = " "

Exit Sub

ManipularErrorFuente:

If Err.Number = 32755 Then

StatusBar1.Panels(1).Text = " "

Exit Sub

Else

MsgBox "Error desconocido"

End If

End Sub

Private Sub Form_Unload(Cancel As Integer)

If Modificado Then

rpta = MsgBox("Desea guardar los cambios realizados en el documento?", vbYesNo, "Mi Editor")

If rpta = vbNo Then

Exit Sub

Else

Call Guardar

End If

End If

End Sub

Private Sub Text1_Change()

Modificado = True

End Sub

Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

'Habilita/Inhabilita el botn Copiar si Seleccion/No seleccion

'texto en el cuadro de texto Text1.

Toolbar1.Buttons(5).Enabled = (Text1.SelLength > 0)

'Habilita/Inhabilita el botn Cortar si Seleccion/No seleccion

'texto en el cuadro de texto Text1.

Toolbar1.Buttons(6).Enabled = (Text1.SelLength > 0)

'Habilita/Inhabilita la opcin Copiar del men Edicin si Seleccion/No seleccion

'texto en el cuadro de texto Text1.

EdicinCopiar.Enabled = (Text1.SelLength > 0)

'Habilita/Inhabilita la opcin Cortar del men Edicin si Seleccion/No seleccion

'texto en el cuadro de texto Text1.

EdicinCortar.Enabled = (Text1.SelLength > 0)

'Habilita/Inhabilita la opcin Fuente del men Formato si Seleccion/No seleccion

'texto en el cuadro de texto Text1.

FormatoFuente.Enabled = (Text1.SelLength > 0)

End Sub

(17) Visualiza Imgenes

ControlPropiedad Valor

Form1 NameForm1

Caption Imgenes

BorderStyle5-Sizable ToolWindow

BackColor&H80000001&

Label1 Name Labell

AutoSizeTrue

BackStyle0-Transparent

BorderStyle 0-None

Caption Abrir imagen

Font Comic Sans MS

ForeColor &H000000FF&

Label2NameLabeI2

AutoSizeTrue

BackStyle0-Transparent

BorderStyle0-None

CaptionSalir

FontComic Sans MS

ForeColor&H000000FF&PictureBoxNamePicturel

BorderStyle0-None

VisibleFalse

Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

On Error GoTo ManipularErrorAbrir

'Limpia el control Picture Box

Picture1.Picture = LoadPicture()

CommonDialog1.CancelError = True

CommonDialog1.DialogTitle = "Abrir imgenes"

CommonDialog1.Filter = "Imagenes (.gif)|*.gif|Imgenes (.jpg)|*.jpg|Imgenes (.bmp)|*.bmp|Todos los archivos (*.*)|*.*"

CommonDialog1.FilterIndex = 3

'Muestra el cuadro de dilogo Abrir

CommonDialog1.ShowOpen

'Inserta la imgen seleccionada en el control picture box

Picture1.Picture = LoadPicture(CommonDialog1.FileName)

'Hace visible el control PictureBox

Picture1.Visible = True

'Asigna el color rojo al control Label1

Label1.ForeColor = &HFF&

Exit Sub

ManipularErrorAbrir:

If Err.Number = 32755 Then

Exit Sub

Else

MsgBox "Error desconocido al abrir el archivo"

End If

End Sub

Private Sub Label2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

Unload Me 'Cierra el formulario

End 'Finaliza la ejecucin del programa

End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

'Al mover el puntero del mouse sobre el control label1

'el color amarillo se asigna al control label1

Label1.ForeColor = &HFFFF& 'Color amarillo

End Sub

Private Sub Label2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

'Al mover el puntero del mouse sobre el control label2

'el color amarillo se asigna al control label2

Label2.ForeColor = &HFFFF& 'Color amarillo

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

'Al mover el puntero del mouse sobre el formulario, se

'asigna el color rojo a los controles Label1 y Label2

Label1.ForeColor = &HFF&

Label2.ForeColor = &HFF&

End Sub

Private Sub Picture1_Resize()

'Redimensiona el tamao del formulario en funcin

'del tamao del control PictureBox

Form1.Top = 0

Form1.Left = 0

Form1.Width = Picture1.Width + 360

Form1.Height = Picture1.Height + 960

End Sub

Ing. Hermas Herrera Callejas Pgina : 6 de 6