Электронная библиотека » Евгений Матвеев » » онлайн чтение - страница 10


  • Текст добавлен: 16 октября 2020, 08:02


Автор книги: Евгений Матвеев


Жанр: Прочая образовательная литература, Наука и Образование


Возрастные ограничения: +12

сообщить о неприемлемом содержимом

Текущая страница: 10 (всего у книги 18 страниц)

Шрифт:
- 100% +
9.15.2. События

Наиболее полезными для программирования объекта FileListBox (Список файлов), и чаще всего используемыми, являются следующие события:

Click (Щелчок). Вызывается после щелчка мыши на любом файле,

DblClick (Двойной щелчок). То же самое, но после двойного щелчка,

PathChange (Изменение пути). Возникает при изменении программой текущего значения свойства Path (Путь), если требуется отобразить содержимое другой папки,

PatternChange (Изменение шаблона). Происходит при изменении программой значения свойств Pattern (Шаблон) или FileName (Имя файла).

9.15.3. Методы

Никакие новые методы, не рассматриваемые нами ранее, для работы с элементом управления FileListBox (Список файлов) не используются.

9.15.4. Пример программирования

Теперь покажем на практике, как выполняется синхронизация двух объектов – FileListBox (Список файлов) и DirListBox (Список папок).

На форме, где уже находятся элементы управления DriveListBox (Список дисков) и DirListBox (Список папок) добавьте FileListBox (Список файлов).

Введите код процедуры обработки события Dir1_Change:


Private Sub Dir1_Change ()

File1.Path = Dir1.Path

End Sub


Здесь синхронизация осуществляется присвоением свойства Path (Путь) объекта DirListBox (Список папок) одноименному свойству элемента управления FileListBox (Список файлов).

Перейдите в режим выполнения и опробуйте взаимосвязь работы всех трех элементов управления. Теперь список файлов должен обновится после изменения выбранной папки.

9.16. Line (Линия)

Настало время познакомиться с графическими возможностями языка Visual Basic, которые довольно обширны. Элемент управления Line (Линия) позволяет вычерчивать линии и отрезки на поверхности формы, которые можно использовать для улучшения внешнего вида приложения (Рис.9.22).


Рис.9.22. Элемент управления

Line (Линия)


В общем-то, результат использования объекта Line (Линия) внешне не отличается от применения одноименного метода формы. Только работа с ним производится по-другому.

9.16.1. Свойства

BorderColor (Цвет границы). В данном случае это свойство определяет цвет линии,

BorderStyle (Стиль границы). Тип линии:

• 0 – Transparent (Прозрачная),

• 1 – Solid (Сплошная),

• 2 – Dash (Тире),

• 3 – Dot (Точка),

• 4 – Dash-Dot (Тире-точка),

• 5 – Dash-Dot-Dot (Тире-точка-точка),

• 6 – Inside Solid (Сплошная внутри).

BorderWidth (Ширина границы). Также, определяется ширина самой линии.

DrawMode (Режим рисования). Определяет способ формирования цвета линии при выводе на экран:

• 1 – Blackness – черный цвет,

• 2 – Not Merge Pen – инверсия значения 15,

• 3 – Mask Not Pen – сочетание компонентов цвета, общих для фона и инвертированного пера,

• 4 – Not Copy Pen – инверсия значения 13,

• 5 – Mask Pen Not – сочетание компонентов цвета, общих для пера и инвертированного фона,

• 6 – Invert – инверсия цвета фона,

• 7 – Xor Pen – сочетание компонентов цвета пера и фона за вычетом общих компонентов,

• 8 – Not Mask Pen – инверсия значения 9,

• 9 – Mask Pen – сочетание компонентов цвета, общих для пера и фона,

• 10 – Not Xor Pen – инверсия значения 7,

• 11 – Nop – отключение рисования,

• 12 – Merge Not Pen – сочетание цвета фона и инвертированного цвета пера,

• 13 – Copy Pen – используется значение свойства ForeColor (Основной цвет),

• 14 – Merge Pen Not – сочетание цвета пера и инвертированного цвета фона,

• 15 – Merge Pen – сочетание цвета пера и цвета фона,

• 16 – Whiteness – белый цвет.

Visible (Видимость). Определяет, видима ли линия на экране:

• True (Истина) – линия видна,

• False (Ложь) – линия скрыта.

X1. Координата X начальной точки.

X2. Координата X конечной точки.

Y1. Координата Y начальной точки.

Y2. Координата Y конечной точки.

9.16.2. События

Объект Line (Линия) не реагируют ни на какие события.

9.16.3. Методы

Refresh (Обновить). Перерисовывает заново линию на экране:


объект.Refresh


ZOrder (Z-порядок). Перемещает линию вперед или назад в текущем графическом слое формы:


объект. ZOrder [положение]


Параметр положение может иметь одно из двух возможных значений:

• 0 или vbBringToFront (Переместить вперед),

• 1 или vbSendToBack (Переместить назад).

9.16.4. Пример программирования

Для примера покажем изменение положения линии путем изменения координат начала отрезка.

Нарисуйте на форме линию.

Так как линия не реагирует на события, создайте процедуру Form_Click:


Private Sub Form_Click ()

Line1.X1 = Line1.X1 +100

Line1.Y1 = Line1.Y1 +100

End Sub


В данной процедуре производится увеличение координат начала отрезка.

Запустите приложение. Линия будет находиться в том положении, каком вы ее нарисовали (Рис.9.23).


Рис.9.23. Объект Line (Линия)

в начальном положении


Щелкните мышью несколько раз на поверхности формы. Линия будет изменять свое положение на форме, причем перемещаться будет только ее начало, а конец останется на прежнем месте (Рис.9.24 и 9.25).


Рис.9.24. Объект Line (Линия)

в промежуточном положении


Рис.9.25. Объект Line (Линия)

в конечном положении

9.17. Shape (Фигура)

Элемент управления Shape (Фигура) позволяет рисовать квадраты, прямоугольники, а также окружности, эллипсы и другие плоские геометрические фигуры (Рис.9.26).


Рис.9.26. Элемент управления

Shape (Фигура)

9.17.1. Свойства

Большинство свойств элемента управления Shape (Фигура) точно такие же, как и у объекта Line (Линия). Дополнительные свойства, в основном, связаны с возможностями заполнения внутренней части фигуры:

BackColor (Цвет фона). Устанавливает цвет фона фигуры. Возможен выбор другого стандартного цвета из текущей цветовой схемы Windows или конкретного цветового оттенка.

BackStyle (Тип фона). Предоставляет возможность выбора типа фона фигуры:

• 0 – Transparent (Прозрачный),

• 1 – Opaque (Непрозрачный).

FillColor (Цвет заполнения). Устанавливает цвет заполнения внутренней части фигуры.

FillStyle (Тип заполнения). Определяет стиль заполнения фигур, отображаемых на форме:

• 0 – Solid (Сплошная),

• 1 – Transparent (Прозрачная),

• 2 – Horizontal Line (Горизонтальные линии),

• 3 – Vertical Line (Вертикальные линии),

• 4 – Upward Diagonal (Восходящие диагонали),

• 5 – Downward Diagonal (Нисходящие диагонали),

• 6 – Cross (Клеточки),

• 7 – Diagonal Cross (Косые клеточки).

Height (Высота). Абсолютный вертикальный размер фигуры, измеренный в двадцатых долях пункта (twips).

Left (Левая координата). Абсолютная координата X верхнего левого угла фигуры, измеренная в двадцатых долях пункта (twips).

Shape (Фигура). Определяет форму фигуры:

• 0 – Rectangle (Прямоугольник),

• 1 – Square (Квадрат),

• 2 – Oval (Овал),

• 3 – Circle (Круг),

• 4 – Rounded Rectangle (Восходящие диагонали),

• 5 – Rounded Circle (Нисходящие диагонали).

Top (Верхняя координата). Абсолютная координата Y верхнего левого угла фигуры, измеренная в двадцатых долях пункта (twips).

Visible (Видимость). Определяет, видима ли фигура на экране:

• True (Истина) – фигура видна,

• False (Ложь) – фигура скрыта.

Width (Ширина). Абсолютный горизонтальный размер фигуры, измеренный в двадцатых долях пункта (twips).


9.17.2. События

Shape (Фигура), также, не реагирует ни на какие события.

9.17.3. Методы

Кроме точно таких же методов, как и у объекта Line (Линия), возможно использование метода Move (Переместить), перемещающего данный элемент управления с одновременным изменением его размеров:


объект.Move x, [y] [, ширина] [, высота]

9.17.4. Пример программирования

Полезной будет иллюстрация возможности использования одноименного свойства Shape (Фигура).

Нарисуйте на форме объект Shape (Фигура).

В окне кода введите текст процедуры Form_Click, в которой производится увеличение текущего значения свойства Shape (Фигура) на единицу:


Private Sub Form_Click ()

Shape1.Shape = Shape1.Shape +1

End Sub


Перейдите в режим выполнения и пощелкайте мышью на поверхности формы. Фигура будет изменять свою форму до тех пор, пока значение свойства Shape (Фигура) не превысит допустимого значения, о чем проинформирует сообщение Invalid Property Value (Неверное значение свойства) (Рис.9.27).


Рис.9.27. Окно сообщения Visual Basic: Invalid Property Value (Неверное значение свойства)


Закройте окно сообщения с помощью кнопки End (Конец) и перейдите в режим проектирования.

9.18. Image (Изображение)

Элемент управления Image (Изображение) специально предназначен для отображения неподвижных изображений (Рис.9.28).


Рис.9.28. Элемент управления

Image (Изображение)

9.18.1. Свойства

Наибольшее применение имеют следующие свойства данного элемента управления:

Picture (Рисунок). Аналогично соответствующему свойству формы. Содержит изображение, которое будет выводиться в данном элементе управления.

Это свойство изменяется только в процессе проектирования, поэтому для его изменения в процессе выполнения программы следует воспользоваться встроенной функцией LoadPicture (Загрузить рисунок).

Stretch (Подгонка). Устанавливает режим масштабирования изображения в соответствие с размером данного элемента управления:

• True (Истина) – изображение подгоняется под размер элемента управления,

• False (Ложь) – элемент управления подгоняется под изображение, либо оно обрезается.

9.18.2. События

Стандартные события мыши и клавиатуры.

9.18.3. Методы

Никаких специфических методов Image (Изображение) не использует.

9.18.4. Встроенные процедуры для работы с изображениями

В Visual Basic предусмотрены специальные процедуры для работы с изображениями, которые могут использоваться применительно к элементам управления Image (Изображение), PictureBox (Окно рисунка) и формам:

LoadPicture (Загрузить рисунок). Выполняет загрузку файла с изображением в свойство Picture (Рисунок), данного элемента управления. Работает как функция:


объект. Picture = LoadPicture (имя_файла, [размер], [глубина_цвета], [X], [Y])


Имя файла может включать полный путь. Остальные аргументы не являются обязательными. Результат работы функции записывается в свойство Picture (Рисунок).

SavePicture (Сохранить рисунок). Выполняет сохранение изображения, которое отображается в данном элементе управления, в дисковый файл:


SavePicture объект. Picture, имя_файла


В качестве первого аргумента указывается имя объекта со свойством Picture (Рисунок). Имя файла, также, может включать полный путь.

9.18.5. Пример программирования

Так как Image (Изображение) не обладает новыми событиями или методами, покажем, как выполняется загрузка нового изображения во время работы программы с помощью функции LoadPicture (Загрузить рисунок).

Расположите в левом верхнем углу формы элемент управления Image (Изображение) и установите его свойство Stretch (Подгонка) = True (Истина), чтобы изображение подгонялось под фактический размер элемента управления.

Введите код процедуры обработки события Image1_Click:


Private Sub Image1_Click ()

Image1.Picture = LoadPicture(«c:windowsустановка.bmp»)

End Sub


Вместо c:windowsустановка.bmp можно указать другое имя файла, включив полный путь к нему.

Запустите программу и щелкните мышью на пустом изображении. Должен отобразиться рисунок, загруженный из указанного файла.

9.19. PictureBox (Окно рисунка)

Элемент управления PictureBox (Окно рисунка), также, используется для отображения рисунков и других графических объектов, но его возможности гораздо шире, чем у Image (Изображение). Объект PictureBox (Окно рисунка) больше подходит для создания динамических рисунков, так как позволяет использовать значительное количество графических методов (Рис.9.29).


Рис.9.29. Элемент управления

PictureBox (Окно рисунка)


Окно рисунка является контейнерным объектом, поэтому его можно применять для объединения других элементов управления.

9.19.1. Свойства

Элемент управления PictureBox (Окно рисунка) имеет большое число свойств, многие из которых совпадают со свойствами формы. Нас больше заинтересуют лишь некоторые специфические свойства PictureBox (Окно рисунка):

Align (Выровнять). Задает положение окна рисунка путем его прикрепления к одному из краев формы:

• 0 – None (Нет),

• 1 – Align Top (Выровнять вверх),

• 2 – Align Bottom (Выровнять вниз),

• 3 – Align Left (Выровнять налево),

• 4 – Align Right (Выровнять направо).

AutoSize (Автоподстройка размера). Определяет, будут ли размеры автоматически подгоняться под размер отображаемого рисунка:

• True (Истина) – автоподстройка размера включена,

• False (Ложь) – автоподстройка размера выключена.

Picture (Рисунок). Содержит изображение, которое будет выводиться в данном элементе управления. Это свойство изменяется только в процессе проектирования, поэтому в процессе выполнения программы следует воспользоваться функцией LoadPicture (Загрузить рисунок).

9.19.2. События

Все события, поддерживаемые элементом управления PictureBox (Окно рисунка), аналогичны соответствующим событиям формы, кроме одного – Change (Изменение). Это событие вызывается при любом изменении содержимого данного элемента управления.

9.19.3. Методы

Окно рисунка позволяет использовать большинство методов, полностью совпадающих с методами формы.

9.19.4. Пример программирования

Покажем, как выполняется рисование внутри окна PictureBox (Окно рисунка) и сохранение изображения во время работы программы встроенной процедурой SavePicture (Сохранить рисунок).

Разместите на форме элемент управления PictureBox (Окно рисунка) и загрузите любой рисунок в свойство Picture (Рисунок).

Откройте окно коды и создайте процедуру Picture1_Click:


Private Sub Picture1_Click ()

For i = 50 To 1000 Step 50

Picture1.Circle (Picture1.Width / 2, Picture1.Height / 2), i

Next

End Sub


Данная процедура содержит цикл For…Next, внутри которого используется метод Circle (Круг) объекта Picture1. Центр всех рисуемых окружностей совпадает и находится точно посередине окна рисунка, так как координаты центра вычисляются как половина ширины и высоты данного объекта. Радиус с каждым шагом цикла увеличивается на 50.

Кроме того, введите код процедуры обработки события Picture1_DblClick:


Private Sub Picture1_DblClick ()

SavePicture Picture1.Picture, «c:testris1.bmp»

End Sub


Для сохранения изображения в дисковый файл тут используется встроенная процедура SavePicture (Сохранить рисунок).

Перейдите в режим выполнения и щелкните мышью на окне рисунка, где после этого появятся концентрические окружности.

Затем сделайте двойной щелчок мыши на этом же элементе управления. Рисунок должен сохраниться в указанный файл.

С помощью любой программы просмотра рисунков откройте созданный файл и просмотрите его. Там должно быть изображение, но без концентрических окружностей, та как процедура SavePicture (Сохранить рисунок) использует лишь свойство Picture (Рисунок), игнорируя внедренные объекты и результаты выполнения графических методов.

9.20. Data (Данные)

Данный объект позволяет связывать элементы управления формы с базой данных. Видимые на экране кнопки объекта Data (Данные) предназначены для перемещения по записям базы данных (Рис.9.30).


Рис.9.30. Элемент управления

Data (Данные)


Если вы мало знакомы с базами данных, то для понимания механизма работы элемента Data (Данные) потребуется сделать некоторые пояснения.

База данных состоит из связанных между собой таблиц (Tables), хранящихся в одном или нескольких дисковых файлах. Таблица представляет собой двухмерный массив переменных составного типа. Элементы этого массива называются записями (Records), а структурные единицы отдельной записи – полями (Fields) (Рис.9.31).


Рис.9.31. Структура таблицы базы данных


С помощью специального языка SQL – Structured Query Language (Структурированный язык запросов), встроенного в Visual Basic и предназначенного для работы с базами данных, можно создавать запросы (Query), отбирающие из таблицы только те записи, которые удовлетворяют определенному условию. Сложные запросы, также, могут объединять данные из нескольких таблиц и отображать лишь нужные поля.

Элемент управления Data (Данные) работает с набором записей (Recordset), который может быть таблицу или запрос. В обоих случаях логическое представление набора записей имеет табличную структуру (Рис.9.31).

Сам по себе объект Data (Данные) обеспечивает только перемещение по записям, а содержимое полей текущей записи отображается другими элементами управления, находящимися на форме и подключенными к объекту Data (Данные).

Многие элементы управления могут служить для отображения информации из базы данных:

• Label (Надпись),

• Text Box (Текстовое поле),

• Check Box (Флажок),

• List Box (Список),

• Combo Box (Комбинированный список),

• Image (Изображение),

• Picture Box (Окно рисунка),

• OLE (Связь и внедрение объектов).

9.20.1. Свойства

Сначала рассмотрим наиболее важные свойства самого элемента управления Data (Данные):

Connect (Подключение). Определяет формат базы данных, к которой производится подключение. Может иметь одно из следующих значений:

Access,

dBASE III,

• dBASE IV,

• dBASE 5.0,

• Excel 3.0,

• Excel 4.0,

• Excel 5.0,

• Excel 8.0,

• FoxPro 2.0,

• FoxPro 2.5,

• FoxPro 2.6,

• FoxPro 3.0,

• Lotus WK 1,

• Lotus WK 3,

• Lotus WK 4,

• Paradox 3.x,

• Paradox 4.x,

• Paradox 5.x,

• Text.

DatabaseName (Имя базы данных). Cодержит имя файла базы данных. При необходимости, указывается полный путь к этому файлу.

DefaultType (Тип по умолчанию). Определяет тип источника данных, а точнее – тип драйвера, используемого Visual Basic при доступе к базе данных:

• 1 – UseODBC – любая база данных, к которой можно получить доступ через драйвер ODBC, может быть локальной или находиться на удаленном сервере,

• 2 — UseJet – база данных Microsoft Access, расположенная на диске или в локальной сети.



Exclusive (Монопольный доступ). Регулирует режим совместного доступа нескольких приложений к одной базе данных:

• True (Истина) – используется только монопольный доступ,

• False (Ложь) – разрешен совместный доступ нескольких приложений.

ReadOnly (Только чтение). Управляет сохранением измененной информации в базе данных:

• True (Истина) – изменения не сохраняются,

• False (Ложь) – изменения сохраняются.

Recordset (Набор записей). Содержит ссылку на объект, представляющий собой текущий набор записей. Набор записей обладает широким набором собственных свойств и методов, которые будут рассмотрены ниже.

RecordSource (Источник записей). Имя таблицы или запроса в файле базы данных, либо строка SQL-запроса.

Язык программирования Visual Basic предоставляет широкие возможности для работы с базами данных программным путем. Поэтому сам объект Recordset (Набор записей) имеет большое количество свойств:

DateCreated (Дата создания). Возвращает дату и время создания связанной таблицы. Доступно только для чтения.

EditMode (Режим редактирования). Возвращает состояние редактирования текущей записи:

• True (Истина) – запись редактируется,

• False (Ложь) – запись не изменялась.

Fields (Поля). Множество полей текущего набора записей. Для получения общего количества полей используется конструкция:


объект.Recordset.Fields.Count


Filter (Фильтр). Содержит строку условия, ограничивающую множество текущего набора записей.

Index (Индекс). Содержит имя индексного поля в связанной таблице. Можно указать новый индекс.

LastUpdated (Последнее изменение). Возвращает дату и время последнего изменения текущего набора записей.

NoMatch (Нет совпадения). Содержит результат операции поиска записи с использованием одного из методов поиска – Find* (Найти *) или Seek (Искать) – объекта Recordset (Набор записей):

• True (Истина) – запись не найдена,

• False (Ложь) – запись обнаружена.

PercentPosition (Процентная позиция). Возвращает приблизительное местонахождение текущей записи в текущем наборе записей.

RecordCount (Число записей). Возвращает число записей в Recordset (Набор записей).

Restartable (Возобновляемый). Указывает, поддерживает ли текущий набор записей метод Requery (Повторить запрос).

Sort (Сортировка). Устанавливает порядок сортировки в текущем наборе записей.

Transactions (Транзакции). Указывает, поддерживает ли текущий набор записей выполнение транзакций.

Updatable (Изменяемый). Указывает, поддерживает ли текущий набор записей сохранение измененных записей.

Для установления связи с объектом Data (Данные) и отображения содержимого из полей у других элементов управления нужно установить следующие свойства:

DataSource (Источник данных). Имя одного из объектов Data (Данные), находящегося на форме.

DataField (Поле данных). Имя поля из текущего набора записей, который использует объект Data (Данные).


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Следующая
  • 0 Оценок: 0

Правообладателям!

Это произведение, предположительно, находится в статусе 'public domain'. Если это не так и размещение материала нарушает чьи-либо права, то сообщите нам об этом.


Популярные книги за неделю


Рекомендации