Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VB-для курсового проектирования4.doc
Скачиваний:
16
Добавлен:
23.08.2019
Размер:
2.36 Mб
Скачать

1.6.2. Программа-шаблон для курсовой работы

Представленная ниже программа позволяет создавать, просматривать и редактирует текстовые файлы формата rtf, имеет интерфейс в стиле Windows. В программный интерфейс входит строка меню, панель инструментов ToolBar1, текстовое поле RichTextBox1, строка состояния StatusBar1, CommonDialog1, список изображений ImageList1.

Для объекта ImageList1 с помощью свойства Custom через закладку Images загружаются картинки с диска по маршруту C:\Install\Visual Basic 6.0\COMMON\GRAPHICS\ BITMAPS\TLBR_W95, в том порядке, как они будут расположены на панели инструментов.

Для объекта ToolBar1 (панель инструментов) также открываем диалог Custom. На закладке General устанавливаем связь свойства ImageList с объектом ImageList1, который содержит картинки для кнопок. На вкладке Buttons вставляем кнопки и задаем их свойства. Для этого:

  • нажимаем кнопку Insert Button, при этом автоматически определяется свойство Index (номер кнопки);

  • вводим порядковый номер в свойство Image, равное свойству Index.

Кнопки панелей инструментов будут дублировать команды меню. Поэтому, чтобы не повторять код в процедурах обработки, нужно создать общие процедуры, например, mnuFileOpen и mnuFileSave.

На панели инструментов кнопки Вырезать и Копировать доступны, только если имеется выделенный текст. Поэтому в режиме проектирования (на закладке Buttons окна Property Pages) для них снимается флажок Enabled, а в процедуре RichTextBox1_SelChange() - устанавливается.

Меню имеет следующий вид (в скобках указаны процедуры обработки событий, они должны вводятся в свойстве Name , а не в свойстве Caption).

Файл (mnuFile)

Создать (mnuFileNew)

Открыть (mnuFileOpen)

Сохранить (mnuFileSave)

Закрыть (mnuFileClose)

------------- (любая последовательность символов)

Выход (mnuExit)

Правка (mnuEdit)

Вырезать (mnuCut)

Копировать (mnuCopy)

Вставить (mnuPaste)

------------ (любая последовательность символов)

Выделить все (mnuSelAll)

Вид (mnuView)

▼Панель инструментов (mnuViewTb)

▼Строка состояния (mnuViewTb)

Формат (mnuFormat)

Шрифт (mnuFont)

Цвет (mnuColor)

Символов (mnuColorChar)

Фона (mnuColorFon)

Дифф. уравнение (mnuDiff)

Численное решение (mnuDiff_c)

График (mnuDiff_g)

Блок-схема (mnuDiff_b)

Выч. интеграла (mnuInt)

Численное решение (mnuInt_c)

График (mnuInt_g)

Блок-схема (mnuInt_b)

Код программы:

Private Sub Form_Load()

Toolbar1.DragMode = 0

' Чтобы можно использовать технологию Drag&Drop

RichTextBox1.OLEDragMode = rtfOLEDragAutomatic

RichTextBox1.OLEDropMode = rtfOLEDropAutomatic

With CommonDialog1

.CancelError = True

.FontName = "Times New Roman"

.FontSize = 12

.FontBold = True

.FontItalic = True

End With

Form1.Hide

Dialog.Show 1, Form1

End Sub

Private Sub Form_Resize()

'Автоматическое изменение размеров формы и текстового поля

RichTextBox1.Height = Form1.Height - StatusBar1.Height - 1200

RichTextBox1.Width = Form1.Width - 100

End Sub

Private Sub mnuDiff_c_Click()

Load Form2

Form2.Show 1, Form1

End Sub

Private Sub mnuFileNew_Click()

RichTextBox1.Visible = True

RichTextBox1.TextRTF = ""

End Sub

Private Sub mnuFileOpen_Click()

On Error GoTo 100

With CommonDialog1

.Filter = "RTF-файлы (*.rtf)|*.rtf|Текстовые файлы (*.txt) _

|*.txt|Все файла (*.*)|*.*|"

.FileName = "*.rtf"

.Flags = cdlOFNHideReadOnly 'Or cdlOFNAllowMultiselect

.ShowOpen 'Открыть диалог Open и ввести имя файла

End With

RichTextBox1.Visible = True

RichTextBox1.LoadFile CommonDialog1.FileName, rtfRTF

mnuEdit = True

mnuView = True

mnuFormat = True

Exit Sub

100: MsgBox "Ошибка" & Str$(Err.Number) & _

" при чтении." & vbCrLf & Err.Description

End Sub

Private Sub mnuFileClose_Click()

RichTextBox1.Visible = False

mnuEdit = False

mnuView = False

mnuFormat = False

End Sub

Private Sub mnuExit_Click()

End

End Sub

Private Sub mnuFileSave_Click()

fn = FreeFile

On Error GoTo 100

'Открыть диалог Save и ввести имя файла

CommonDialog1.ShowSave

RichTextBox1.SaveFile CommonDialog1.FileName, rtfRTF

Exit Sub

100:

MsgBox "Ошибка" & Str$(Err.Number) & " при записи." & _

vbCrLf & Err.Description

End Sub

Private Sub mnuCopy_Click()

Clipboard.SetText RichTextBox1.SelText

End Sub

Private Sub mnuCut_Click()

Clipboard.SetText RichTextBox1.SelText

RichTextBox1.SelText = ""

End Sub

Private Sub mnuPaste_Click()

RichTextBox1.SelText = Clipboard.GetText

End Sub

Private Sub mnuSelAll_Click()

RichTextBox1.SelStart = 0

RichTextBox1.SelLength = Len(RichTextBox1.TextRTF)

End Sub

Private Sub mnuFont_Click()

On Error GoTo 100

With CommonDialog1

.Flags = cdlCFScreenFonts Or cdlCFEffects 'Or cdlCFNoStyleSel

.ShowFont

End With

With RichTextBox1

.SelFontName = CommonDialog1.FontName

.SelBold = CommonDialog1.FontBold

.SelItalic = CommonDialog1.FontItalic

.SelFontSize = CommonDialog1.FontSize

.SelStrikeThru = CommonDialog1.FontStrikethru

.SelUnderline = CommonDialog1.FontUnderline

.SelColor = CommonDialog1.Color

End With

Exit Sub

100: MsgBox "Ошибка" & Str$(Err.Number) & _

" при выборе шрифта." & vbCrLf & Err.Description

End Sub

Private Sub mnuColorFon_Click()

CommonDialog1.ShowColor

RichTextBox1.BackColor = CommonDialog1.Color

End Sub

Private Sub mnuColorChar_Click()

CommonDialog1.ShowColor

RichTextBox1.SelColor = CommonDialog1.Color

End Sub

Private Sub mnuTitul_Click()

Dialog.Show 1, Form1

End Sub

Private Sub mnuViewStat_Click()

StatusBar1.Visible = Not StatusBar1.Visible

mnuViewStat.Checked = Not mnuViewStat.Checked

End Sub

Private Sub mnuViewTb_Click()

Toolbar1.Visible = Not Toolbar1.Visible

mnuViewTb.Checked = Not mnuViewTb.Checked

End Sub

Private Sub RichTextBox1_SelChange()

If RichTextBox1.SelLength > 1 Then

Toolbar1.Buttons(4).Enabled = True

Toolbar1.Buttons(5).Enabled = True

Else

Toolbar1.Buttons(4).Enabled = False

Toolbar1.Buttons(5).Enabled = False

End If

End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Index

Case 1

mnuFileNew_Click

Case 2

mnuFileOpen_Click

Case 3

mnuFileSave_Click

Case 4

mnuCut_Click

Case 5

mnuCopy_Click

Case 6

mnuPaste_Click

End Select

End Sub

Private Sub Toolbar1_MouseMove(Button As Integer, Shift As _

Integer, x As Single, y As Single)

Dim ms(5) As String, n As Single

ms(0) = "Создать новый файл"

ms(1) = "Открыть существующий файл"

ms(2) = "Сохранить файл в окне"

ms(3) = "Вырезать в БО выделенный фрагмент"

ms(4) = "Копировать в БО выделенный фрагмент"

ms(5) = "Вставить из БО выделенный фрагмент"

n = x \ Toolbar1.ButtonWidth

If n < Toolbar1.Buttons.Count Then

StatusBar1.ToolTipText = ms(n)

StatusBar1.SimpleText = ms(n)

End If

End Sub

‘___________________ Программный код Form2______________

Dim x As Double, y As Double, z As Double, x0 As Double, y0 As _

Double, z0 As Double

Dim a As Double, b As Double, n As Double, h As Double, k1 As _

Double, k2 As Double

Dim i1 As Double, i2 As Double, i3 As Double, i4 As Double, k4 As _

Double, k3 As Double

Private Function f(x As Double, y As Double, z As Double) As Double

f = z

End Function

Private Function g(x As Double, y As Double, z As Double) As Double

g = -z / x

End Function

Private Sub Form_Load()

<Здесь в коде формы Form2 должны следовать операторы, реализующие решение дифференциального уравнения методом Рунге-Кутта>

End Sub

Private Sub Form_Unload(Cancel As Integer)

Unload Form2

End Sub

‘__________________ Программный код Dialog_______________

Private Sub OKButton_Click()

Me.Hide

Form1.Show

Form1.Caption = Label5.Caption

End Sub

Рис. 12. Пример оформления титульного листа курсовой работы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]