Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual Basic в примерах.docx
Скачиваний:
12
Добавлен:
18.08.2019
Размер:
1.1 Mб
Скачать

Практика

Пример 1

Создайте форму:

Код:

Dim ttt As TextBox

Private Sub Command1_Click()

Set ttt = Text1

ttt.Text = "Надпись в 1 поле текста"

Set ttt = Nothing

End Sub

Private Sub Command2_Click()

Set ttt = Text2

ttt.Text = "Надпись во 2 поле текста"

Set ttt = Nothing

End Sub

Как видите, мы используем объектную переменную ttt для ссылки на разные объекты.

Запустите приложение.

Пример 2

Если надо написать процедуру, центрирующую форму на экране, то можно написать ее в следующем виде:

Private Sub Command1_Click()

CenterForm Me

End Sub

Private Sub Command2_Click()

Dim formCopy As New Form1

formCopy.Show

End Sub

‘Процедура центрирования любой формы (точнее – формы, откуда вызывается процедура)

Public Sub CenterForm(frm As Form)

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

End Sub

Как видите, в процедуре CenterForm используется объектная переменная frm – она используется для ссылки на объект типа формы (не на конкретную форму!!!). А под кнопкой центрирования вместо указания конкретной формы используется ключевое слово Me (меня, то есть текущую форму).

Так же можно вместо ключевого слова Me напрямую указывать конкретную форму.

Самостоятельно создайте приложение, состоящее из нескольких различных (не копий!) форм. Каждая форма должна иметь кнопку центрирования, обрабатывающая одну процедуру CenterForm. Сначала используйте слово Ме, потом измените код для центрирования какой-либо формы.

Форма 1:

Форма 2:

Форма 3:

Один из вариантов кода первой формы:

Private Sub Command1_Click()

CenterForm Me

End Sub

Public Sub CenterForm(frm As Form)

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

End Sub

Private Sub Command2_Click()

Form2.Show

End Sub

Private Sub Command3_Click()

Form3.Show

End Sub

Для второй и третьей формы допишите программу самостоятельно.

Запустите программу.

Замечание:

Если Вы под кнопками центрирования будете писать не Ме, а указывать конкретную форму, то эта кнопка и будет центрировать любую указанную форму из Вашего проекта.

Движение объектов

Для перемещения объектов используется метод Move.

Задайте форму и поместите туда объект Image (здесь – кисточка) :

Напишите код (обратите внимание – событие MouseDown):

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

If Button Then Image1.Move X, Y ‘Если кнопка нажата

End Sub

Запустите программу и пощелкайте мышью на форме.

Измените событие в коде на MouseMove:

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

Запустите программу.

Еще пример:

Замените предыдущий код на следующий:

Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)

Image1.Move X, Y

End Sub

Теперь Вы можете перетаскивать элементы по форме. (при перетаскивании элемент в виде серой рамки, а сам не виден)

ИСПОЛЬЗОВАНИЕ МНОГОДОКУМЕНТНОГО ИНТЕРФЕЙСА

MDI

MDI-форма обычно называется MDI-контейнером, которое содержит множество других окон, обычно называемых дочерними формами. Интерфейс MDI используется во всех приложениях (Word, Excel и т.д.)

MDI-форма не имеет поверхности, на которую можно поместить какие-либо элементы управления! Поэтому обычно она используется вместе с меню, в котором можно задать вызов дочерних форм. Одной из наиболее мощных возможностей MDI является возможность изменения меню родительской формы в зависимости от того, какая из дочерних форм получила фокус.

Пример:

  1. Откройте новый проект.

  2. Из меню Projects выберите пункт Add MDI Form.

  3. В Form1 (которая загрузилась автоматически в начале) установите свойство MDIChild = True

  4. В МDI-форме задайте меню для показа дочерней формы.

  5. Напишите код в меню

  6. Запустите проект

Формы:

Дочерняя форма

Если подвигать мышью дочернюю форму, то видно, что ее видимое перемещение ограничивается размерами родительской формы.

ЭЛЕМЕНТ УПРАВЛЕНИЯ С ЗАКЛАДКАМИ

Tabbed Dialog Cotrol 5.0

Создает группу диалоговых панелей, каждая из которых снабжена закладкой:

или другой стиль (свойство Style):

Общее количество таблиц задается в свойстве Tabs, а количество таблиц в одной строке – в свойстве TabsPerRow.

Каждая закладка наполняется обычным образом, однако следует помнить о недопустимости двойного щелчка при заполнении! Двойной щелчок ставит элемент не на закладку, а на форму!

Элемент управления ProgressBar

Меню Project – Components – Microsoft Windows Common Control 5.0

В панель инструментов добавляется 8 управляющих элементов. Добавьте в форму элемент Progress Bar:

и напишите код обработки события таймера (предварительно установив интервал 1000, а максимальное значение Max элемента ProgressBar - 60:

Private Sub Timer1_Timer()

Static Progress As Integer

Progress = (Progress + 1) Mod 60

Label2.Caption = Str$(Progress)

ProgressBar1.Value = Progress

End Sub

Запустите программу.

Элемент управления Slider Control (бегунок)

Работает аналогично полосе прокрутки. Отличие от полосы – наличие линейки, что иногда бывает удобнее, чем пустая полоса прокрутки.

Управляющий элемент Status Bar (строка состояния)

Это строка, обычно расположенная в нижней части приложения, в которой указывается текущая информация о состоянии приложения. (В Word, например, в этой строке указывается номер строки, режим вставки или замена и т.д.)

Строка состояния может быть разделена максимум на 16 панелей.

Параметр Text задает текст для области, параметр Style устанавливает метод вывода информации в строке состояния:

SbrText – выводит текст или картинку

SbrCaps, SbrNum, SbrScrl – если соответствующая клавиша нажата, то выводит отчетливо, иначе – приглушенно.

SbrTime, SbrDate – выводит дату или время.

Установите элемент управления в форму.

Щелкните правой кнопкой мыши на элементе и выберите из контекстного меню пункт Properties.

Задайте:

Вкладка General:

Style – SbrNormal

Вкладка Panels:

Text – Панель 1

Щелкните кнопку Insert Panel

Text – Панель 2

Insert Panel

Text – Панель 3

Insert Panel

Style – sbrDate

Insert Panel

Style – sbrTime

OK

У Вас должно получиться:

Если в Вашем приложении строка состояния будет использоваться для вывода подсказки или чего-то подобного, то стиль надо изменить на sbrSimple и написать (или задать вывод в программе) Simple Text.

Сделайте самостоятельно форму, заполненную несколькими элементами. При движении мыши через элемент в строке состояния появляется подсказка (в данном случае мышь над командной кнопкой):

ЕЩЕ РАЗ

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