Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey...

29
Информатика Введение в программирование на Visual Basic. Лекция 2. Стандартные элементы интерфейса

Transcript of Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey...

Page 1: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Информатика

Введение в программированиена Visual Basic.

Лекция 2.Стандартные элементы

интерфейса

Page 2: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

2

• Элементы интерфейса – это базовые объекты, изкоторых строятся приложения в VB. С их помощьюрешается большинство задач взаимодействияпользователя с программой путем установлениятребуемых значений свойств объектов и обращенияк их методам

• VB позволяет обращаться к элементам интерфейсане только во время проектирования приложения, но иво время выполнения программы как к обычнымпеременным. При обращении программе к свойствуили методу объекта сначала записывается его имя, азатем через точку имя этого свойства или метода.

• Например:cmdCommand1.Caption = “Ok”

присвоение свойству Caption элемента интерфейсаcmdCommand1 значения Ok.

frmForm1.Showобращение к методу Show (отображение формы наэкране) объекта (формы) frmForm1.

Page 3: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

3

Группы стандартных элементов

• Поля ввода-вывода информации• Элементы управления процессом

выполнения программы• Элементы оформления• Списки• Полосы прокрутки• Элементы интерфейса, связанные с

файловой системой компьютера• Прочие элементы

Page 4: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

4

Свойства, общие для большинстваобъектов

Устанавливает положение левой границы объектаУстанавливает положение правой границы объектаУстанавливает ширину объектаУстанавливает высоту объекта

LeftTopWidthHeight

Pisition(позиция)

Устанавливает параметры шрифта (вид, размер и др.)FontFont(шрифт)

Определяет возможность реагирования объекта на действияпользователя (доступен или недоступен)Определяет видимость объекта во время исполнения программы(отображается или не отображается)

EnabledVisible

Behavior(поведение)

Определяет стиль объекта на экране (трехмерный или плоский)Определяет цвет фона объектаОпределяет особенности границыЗадает надпись на объектеОпределяет цвет выводимого на объекте изображения

AppearanceBackColorBorderStyleCaptionForeColor

Appearance (внешний вид)

НазваниеСвойствоКате-гория

Page 5: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

5

Методы, общие для большинстваобъектов

Активизация объекта (получение объектом фокуса)Фокус-понятие операционной системы, с помощью которого указывается, какойэлемент активен. Если элемент получает фокус, то это соответствующим образомотображается на экране (например, в текстовом поле мигает курсор)

SetFocus

Изменение положения объектовMove

Поддержка операции перетаскивания объектов в пределах контейнеровDrag

Назначение методаНазвание

Page 6: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

6

События, общие для большинстваобъектов

Опускание основной кнопки мыши, когда указатель помещенна объект

MouseUp

Перемещение указателя за пределы объектаMouseMove

Нажатие основной кнопки мыши, когда указатель помещен наобъект

MouseDown

Потеря объектом фокусаLostFocus

Опускание клавиши, когда объект находится в фокусеKeyUp

Нажатие и опускание клавиши, когда объект находится вфокусе

KeyPress

Нажатие клавиши, когда объект находится в фокусеKeyDown

Получение объектом фокусаGotFocus

Перемещение объекта поверх на другого объектаDragOver

Перемещение объекта на другое местоDragDrop

Двойной щелчок мышью по объектуDbClick

Щелчок мышью по объектуClick

Изменение значения текстового поля или выбор элемента вполе со списком

Change

Источник возникновения событияСобытие

Page 7: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

7

Формы.Основные свойства

• BorderStyle определяет особенности границыокна и возможности управления им. Может иметьшесть значений, в зависимости от которых окноможет иметь способность изменять или не изменятьразмеры, быть перемещенным или неперемещенным по экрану и т.д.

• Icon задает значок пиктограммы.• WindowState задает состояние окна при егозапуске. Может иметь три значения:– Normal окно открывается в нормальном состоянии;– Minimized окно открывается в свернутом состоянии;– Maximized окно открывается развернутым на весьэкран.

Page 8: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

8

ФормыОсновные методы:• Show отображает форму на экране• Hide удаляет форму с экрана• Unload выгружает форму из памятиОсновные события:• Load происходит при загрузке формы в память. Используется для инициализации объектов ипеременных, принадлежащих форме

• Unload происходит при выгрузке формы из памяти• GotFocus происходит при получении формой фокуса

(когда форма загружается или пользовательобращается к ней)

Page 9: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

9

Обработка событий, связанных сформами

• Синтаксис процедуры обработки события формыотличается от синтаксиса процедур обработкисобытий других элементов интерфейса

• Имя процедуры обработки события формы всегдасодержит слово “Form”. При этом не важно, какфактически называется форма

• Например, процедура обработки события, котороезаключается в загрузке формы в оперативнуюпамять, имеет вид

Private Sub Form_Load()………………………………..End Sub

Page 10: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

10

Текстовой поле (TextBox).Свойства

• Locked - устанавливает возможность редактированиятекста в поле.

• MaxLength - ограничивает количество символов, вводимых в поле.

• Multiline - определяет возможность ввода в полемногострочного текста.

• PasswordChar - задает символ, который отображается вполе.

• ScrollBars - определяет наличие полос прокрутки втекстовом поле.

• Text - задает содержимое поля.• SelStart - задает начальный символ выделенного текста• SelLength- задает конечный символ выделенного текста• SelTex - возвращает содержимое выделенногофрагмента текста

Page 11: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

11

Текстовое поле (TextBox)

Методы:• SetFocus - активизирует полеСобытия:• Change - изменение значениятекстового поля. Происходит каждыйраз, когда вводится, удаляется илиизменяется символ в поле.

• GotFocus - получение полем фокуса

Page 12: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

12

Надпись (Label)• Предназначена для отображения (вывода) информации. Обычно используется в качестве подсказок дляобозначения других элементов интерфейса

Свойства:• Caption - важнейшее свойство, определяет текстнадписи.

• AutoSize - устанавливает возможность автоматическойрегулировки размера надписи по горизонтали.

• Font - задает шрифт надписи.• TabIndex - определяет порядок перебора элементовинтерфейса при нажатии клавиши Tab.

• WordWrap - устанавливает возможностьавтоматической регулировки размера надписи погоризонтали. Работает только тогда, когда свойствоAutoSize имеет значение True

События и методы надписей обычно не используются

Page 13: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

13

Кнопки (CommandButton).Свойства

• Default - задает реакцию кнопки на нажатие клавиши Enter. Если этосвойство кнопки имеет значение True, то нажатием клавиши Enterгенерируется событие Click данной кнопки, независимо от того какойэлемент интерфейса имеет фокус (обычно это кнопки “Ok”). Если наформе находится несколько кнопок, то только у одной из них свойствоDefault может иметь значение True.

• Cansel - задает реакцию кнопки на нажатие клавиши Esc. Если этосвойство кнопки имеет значение True, то нажатием клавиши Escгенерируется событие Click данной кнопки, независимо от того какойэлемент интерфейса имеет фокус (обычно это кнопки “Cansel”). Еслина форме находится несколько кнопок, то только у одной из нихсвойство Cansel может иметь значение True.

• Enabled - определяет возможность обращения пользователя к кнопке. Если это свойство имеет значение False, то кнопка недоступна.

• TabIndex - определяет порядок перебора элементов интерфейса принажатии клавиши Tab.

• Visible - определяет видимость кнопки. Если это свойство имеетзначение False, то кнопка на форме не отображается (невидима)

Page 14: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

14

Кнопки (CommandButton)

Методы• SetFocus - активизирует кнопку.События• Click - щелчок мышью по кнопке.• GotFocus - получение кнопкой фокуса.• MouseDown - нажатие основной кнопки мыши, когда указатель помещен на объект (кнопку).

• MouseUp - отпускание основной кнопки мыши, когдауказатель помещен на объект (кнопку).

• MouseMove - перемещение указателя мыши запределы кнопки

Page 15: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

15

Переключатель (OptionBox) • Позволяет выбрать один (и толькоодин) вариант из несколькихвзаимоисключающих вариантов.

Свойства переключателей:• Value - задает состояниепереключателя.

Методы переключателей практически неиспользуются. Из событий в основномиспользуется только событие Click

Page 16: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

16

Флажки (CheckBox) Флажки позволяют производить выбор несколькихвариантов из множества предложенных.

Свойство Value флажка может иметь три значения:• 1 - флажок установлен;• 0 - флажок снят;• 2 - флажок находится в неопределенном состоянии. Это состояние используется для того, чтобы сообщитьпользователю о том, что в программе есть еще однагруппа флажков, причем некоторые из них (но не все) уже установлены.

Методы флажков практически не используютсяИз событий в основном используется только событие Click

Page 17: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

17

Рамка (Frame) • Рамка служат для объединения в группу несколькихдругих элементов. Объекты, объединенные с помощьюрамки, можно как единое целое перемещать, активизировать, делать видимыми или невидимыми

• Для того, чтобы какой-либо элемент располагался внутрирамки, нужно сначала на форме разместить саму рамку, итолько потом поместить в ней этот элемент. Чаще всегорамки используются для группировки переключателей. Когда в группе устанавливается один переключатель, товсе остальные переключатели группы автоматическиснимаются. Если же переключатели разместить на формебез рамок, то они будут действовать как одна большаягруппа

• Рамка – элемент интерфейса, который особых, присущихему свойств не имеет. События и методы рамок обычно неиспользуются

Page 18: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

18

Графические средства VBОни применяются для следующих целей:• Для выделения отдельных элементов интерфейса• Для обеспечения отображения графическойинформации (рисунков, схем, графиков, диаграмм)

• Графические изображения в VB создаются двумяспособами:– с помощью элементов интерфейса или– с использованием графических методовГрафические элементы интерфейса работают подобнодругим элементам. Их можно подключать во времяразработки программы, задавая требуемые значения

Графические методы – это функции, которые встроеныв язык VB и вызываются во время выполненияпрограммы

Page 19: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

19

Линия (Line) и фигура (Shape)

• Элементы Line и Shapeпредставляют собой средствадобавления в форму простейшихграфических примитивов: линий ифигур

• Во время разработки программы онипомещаются в нужном месте формы. Во время выполнения программы этиэлементы могут скрываться илиперемещаться

Page 20: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

20

Свойства• Свойство BackStyle задает способ отображенияпримитива. Может иметь два значения:– 0 (Transparent) фон отображаемого примитива прозрачный

(отображается только контур примитива);– 1 (Opaque) фон отображаемого примитива непрозрачный. Вэтом случае с помощью свойства BackColor можно устанавливатьцвет фона.

• Свойство Shape элемента Shape может иметь шестьзначений, определяющих вид фигуры:– 0 (Rectangle) - прямоугольник;– 1 (Square) - квадрат;– 2 (Oval) - овал;– 3 (Circle) - круг;– 4 (Rounded Rectangle) - прямоугольник со скругленными углами;– 5 (Square Rectangle) - квадрат со скругленными угламиСобытия линий и фигур, как правило, необрабатываются. Методы не используются

Page 21: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

21

Графическое поле (PictureBox) и рисунок(Image)

• Элементы используются для отображенияна формах изображений, подготовленныхв графических редакторах.

• С их помощью могут быть отображеныизображения, хранящиеся в файлахследующих типов:– Bmp –файлы растровой графики;– Ico – пиктограммы;– Wmf – метафайлы (файлы векторной графики);– Jpg, jpeg – графические файлы.

Page 22: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

22

• Элементы PictureBox и Image во многом подобны, норабота с ними производится по-разному. Рисунки(Image) занимают больше памяти и быстрееотображаются. Графические поля (PictureBox) обеспечивают более высокое качество изображения. Кроме того, во время выполнения программы в нихможно выводить текст и рисовать различныепримитивы (линии, окружности и т.п.). с помощьюметодов графического поля.

• В графическом поле можно можно располагатьдругие элементы, т.е. он также как рамка являетсяконтейнером. Фактически элемент Image – это оченьупрощенный вариант элемента PictureBox. Поэтому, несмотря на то, что у них много общих параметрових количество и состав для этих элементов различны

Page 23: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

23

Свойства:• Picture - указывает на файл, содержимое которогобудет выводиться.

• Stretch - определяет возможность масштабированияграфического изображения (только для элементаImage).

• AutoSize - определяет возможность автоматическогоизменения размеров графического поля под размерывыводимого графического изображения (только дляэлемента PictureBox).

Методы графических полей предназначены для выводапримитивов и текста в режиме выполненияпрограммы, к ним относят:

• Line - рисует линию или прямоугольник. • Circle - рисует окружность, эллипс или их дуги. • Print - выводит текст. При вызове методауказывается текстовая строка, подлежащая выводу. Например: Print “Текстовая строка”

Page 24: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

24

Список (ListBox) • Элемент список используется дляработы с перечнем записей.

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

• Непосредственное редактированиезаписей невозможно

Page 25: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

25

Свойства• Строки списков хранятся в виде массива. Свойство

List задает содержимое строк, входящих в этотмассив, т.е. в список.

• ListCount - определяет количество строк в списке(свойство доступно только во время выполненияпрограммы).

• ListIndex - определяет номер выделенной строки(доступно только во время выполнения программы).

• Text - определяет содержимое выделенной строки(доступно только во время выполнения программы).

• Sorted - задает сортировку списка по алфавиту.• MultiSelect - задает возможность выбора несколькихстрок

Page 26: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

26

Методы• При размещении элемента список на форму он пуст, т.е. не имеет элементов

• Элементы списка добавляются с помощью методаAddItem. Оператор обращения к этому методу впрограмме имеет вид:

ListBox.AddItem <Строка> [, <Индекс>]• С помощью параметра Индекс указывается место всписок новой строки. Индексация строк начинается снуля. Данный метод должен вызываться при созданиикаждой строки. Как правило, заполнение спискапроизводится при загрузке формы, т.е. операторыобращения к этому методу записываются в процедуреобработки события Load формы (Sub Form_Load).

• Метод RemoveItem - удаляет строку из списка. Операторобращения к методу имеет вид:

ListBox. RemovItem <Индекс>• Метод Clear - очищает список (удаляет все строки изсписка).

Page 27: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

27

События

• Click - щелчок мышью по кнопке.• DblClick - двойной щелчок мышью покнопке

Page 28: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

28

Комбинированное поле (ComboBox)• Используется для работы с перечнем записей. В отличие от

элемента ListBox элемент ComboBox позволяет не тольковыбирать строку списка, но и вводить ее непосредственно вполе ввода, после чего она автоматически помещается всписок.

• Имеется три разновидности этого элемента, которые определяютсязначением свойства Style.– 0 (DropDown Combo) - текстовое поле для редактирования и

раскрывающийся список. Это значение принимается по умолчанию.– 1 (Simple Combo) - текстовое поле для редактирования и постоянно

открытый список. – 2 (DropDown List) - поле с раскрывающимся списком. Отличается от

первой разновидности тем, что пользователь не имеет возможностивводить текст в поле ввода.

• По своим свойствам, событиям и методам комбинированные поляподобны спискам.

Page 29: Лекция 2 - insycom.ru · Title: Microsoft PowerPoint - Лекция 2.ppt Author: Andrey Gavrilov Created Date: 2/20/2009 1:26:45 PM

Гаврилов А.В. НГТУ, кафедра АППМ

29

Таймер (Timer) • Основное назначение элемента Timer –выполнение заданной последовательностидействий по истечении установленногопромежутка времени.

• Требуемый промежуток времени (измеряемый вмиллисекундах) задается с помощью свойстваInterval, значения которого могут находиться вдиапазоне от 0 (отключение таймера) до 65535. Кактолько заданный свойством Interval промежутоквремени пройдет, наступает событие Timer, ивыполняется процедура обработки этого события.

• Элемент Timer никогда не отображается на экране врежиме выполнения программы. Поэтому он можетрасполагаться на форме где угодно