Сайт Алексея Муртазина (Star Cat) E-mail: starcat-rus@yandex.ru
Мои программы Новости сайта Мои идеи Мои стихи Форум Об авторе Мой ЖЖ
VB коды Статьи о VB6 API функции Самоучитель по VB.NET
Собрания сочинений Обмен ссылками Все работы с фото и видео
О моём деде Муртазине ГР Картинная галерея «Дыхание души»
Звёздный Кот

Объект CommonDialog
   Этот объект имеет 4 основные свойства:
   1) Выбор имени открываемого файла (ShowOpen)
   2) Выбор имени сохраняемого файла (ShowSave)
   3) Выбор шрифта (ShowFont)
   4) Выбор цвета (ShowColor)

   Все эти свойства мы рассмотрим написав простейший текстовый редактор.
   Создайте новый стандартный проект. Добавьте на форму объект Text1, измените его свойства: ScrollBar=2, MultiLine=True.
   Нажмите Ctrl+T, выберите Microsorft Common Dalog Control и так же добавьте на форму. Измените его свойство Filter=Блокнот (*.txt)|*.txt|Все файлы (*.*)|*.*. Оно определяет, какие типы файлов будут отображаться в диалоговом окне. Если у вас нет этого объекта, то скачайте его здесь (60Кб).
   Теперь создайте меню:
   mFile, Caption="Файл"
     mFileNew, Caption="Создать"
     mFileOpen, Caption="Открыть"
     mFileSave, Caption="Сохранить"
     mFileSaveAs, Caption="Сохранить как..."
     mFileSep, Caption="-"
     mFileNewFont, Caption="Шрифт"
     mFileBackColor, Caption="Цвет фона"
     mFileFontColor, Caption="Цвет шрифта"
     mFileSep2, Caption="-"
     mFileExit, Caption="Выход"
   Добавьте новый модуль Name=OpenM и введите код:
   'ОТКРЫТЬ ФАЙЛ
Public Sub OpenFile()
    Dim F As Long, NmFile As String
    With Form1.CommonDialog1
        .FileName = vbNullString
        .Flags = 0
        .ShowOpen
        If .Flags = 0 Then Exit face="Times New Roman" sub
        NmFile = .FileName
    End With
    On Error Resume Next
    Open NmFile For Input As #1
    If Err Then
        If Err = 53 Then
             MsgBox "Файл не найден.", vbCritical, "Ошибка"
         Else
             MsgBox "Файл открыть не возможно.", vbCritical, "Ошибка"
         End If
    Else
        With Form1
            .Text1.Text = Input(LOF(1), 1)
            .IzmText = False
            .NameFile = NmFile
            F = InStrRev(NmFile, "\")
            .Caption = Right$(NmFile, Len(NmFile) - F)
        End With
    End If
    Close #1
End Sub
   Ещё один модуль Name=SaveM.
'Сохранить Файл
Public Sub SaveFile(ByVal NmFile As String)
    Dim F As Long, H As String
    If .NameFile <> NmFile Then
        On Error Resume Next
        F = FileLen(NmFile)
        If Err = 0 Then
            H = "Файл уже существует." & vbCrLf & "Заменить его?"
            If MsgBox(H, , vbCritical, "Ошибка") = vbNo Then Exit face="Times New Roman" sub
        End If
        F = 1
    End If
    On Error Resume Next
    Open NmFile For Output As #1
        If Err Then
            If Err = 75 Then
                MsgBox "Файл защищён от записи.", vbCritical, "Ошибка"
            Else
                MsgBox "Файл сохранить не возможно.", vbCritical, "Ошибка"
            End If
        Else
            With Form1
                Print #1, .Text1.Text
                .IzmText = False
                If F Then
                    .NameFile = NmFile
                    F = InStrRev(NmFile, "\")
                    .Caption = Right$(NmFile, Len(NmFile) - F)
                End If
            End With
        End If
    Close #1
End Sub
   И последний код формы:
Public NameFile As String
Public IzmText As Boolean

Private Sub Form_Load()
    CommonDialog1.InitDir = App.Path ' Выбор открываемой папки
End Sub

Private Sub Form_Resize()
    If WindowState <> vbMinimized Then Text1.Move 0, 0, ScaleWidth, ScaleHeight
End Sub

Private Sub Form_Unload(Cancel As Integer)
     If IzmText = True Then
        Dim F As Long
        F = MsgBox("Сохранить изменение в тексте?", 307)
        If F = vbYes Then
            mFileSave_Click
        ElseIf F = vbCancel Then
            Cancel = 1
        End If
    End If
End Sub

Private Sub mFileBackColor_Click()
    Dim C As Long
    CommonDialog1.Color = 0
    CommonDialog1.ShowColor
    C = CommonDialog1.Color
    If C Then Text1.BackColor = C
End Sub

Private Sub mFileExit_Click()
    Unload Me
End Sub

Private Sub mFileFontColor_Click()
    Dim C As Long
    CommonDialog1.Color = 0
    CommonDialog1.ShowColor
    C = CommonDialog1.Color
    If C Then Text1.ForeColor = C
End Sub

Private Sub mFileNew_Click()
     If IzmText = True Then
        Dim F As Long
        F = MsgBox("Сохранить изменение в тексте?", 307)
        If F = vbYes Then
            mFileSave_Click
        ElseIf F = vbCancel Then
            Exit face="Times New Roman" sub
        End If
    End If
    IzmText = False
    NameFile = vbNullString
    Caption = vbNullString
    Text1.Text = vbNullString
End Sub

Private Sub mFileNewFont_Click()
    With CommonDialog1
        .Flags = cdlCFScreenFonts
        .ShowFont
        Text1.Font = .FontName
        Text1.FontSize = .FontSize
        Text1.FontBold = .FontBold
        Text1.FontItalic = .FontItalic
        Text1.FontUnderline = .FontUnderline
    End With
End Sub

Private Sub mFileOpen_Click()
     If IzmText = True Then
        Dim F As Long
        F = MsgBox("Сохранить изменение в тексте?", 307)
        If F = vbYes Then
            mFileSave_Click
        ElseIf F = vbCancel Then
            Exit face="Times New Roman" sub
        End If
    End If
    OpenFile
End Sub

 'СОХРАНИТЬ ФАЙЛ
Private Sub mFileSave_Click()
    If Len(NameFile) Then
        SaveFile NameFile
    Else
        mFileSaveAs_Click
    End If
End Sub

Private Sub mFileSaveAs_Click()
    With CommonDialog1
        .FileName = NameFile
        .Flags = 0
        .ShowSave
        If .Flags = 0 Then Exit face="Times New Roman" sub
        SaveFile .FileName
    End With
End Sub

Private Sub Text1_Change()
    IzmText = True
End Sub
   Вот и всё! Желаю удачи!
   28 апреля 2004г.

Инфо
Сайт создан: 20 июня 2015 г.
Рейтинг@Mail.ru
Главная страница