Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основные свойства формы их значения и описание




 

Категория Свойство Значение и описание
Appearance (Вид) Арреагапсе Объемный вид: 1-3d (трехмерный) 2-F1аt (плоский)
  ВаскСо1оr Цвет фона
  Border-Style Тип границы: 0- None (нет) 1-Fixed Single (фиксированная) 2- Sizeable(изменяемая) 3-Fixed Dialog (фиксированный диалог) 4-Fixed Tool Window (фиксированная панель инструментов) 5-Sizeable ToolWindow (изменяемая панель инструментов)
  Caption Заголовок формы
  FillColor Цвет заливки
  FillStyle Тип заливки
  ForeColor Цвет переднего плана
  Picture Графический файл, выводимый на форме
Behavior (поведение) DrawMode Способ рисования на форме
  DrawStyle Тип рисования
  DrawWidth Толщина линий
  Enabled Возможность доступа
  Visible Видимость формы
Font (шрифт) Font Тип шрифта
Misk(разное) ControlBox Выведение строки меню
  MaxButton Выведение кнопки Maximize
  MinButton Выведение кнопки Minimize
  Icon Значок для минимизированной формы
  Window-State Состояние окна формы при загрузке: 0- Normal(нормальное) 1- Minimized - (свернутое) 2 - Maximized (во весь экран)
Position (расположение) Height Высота формы (твип)
  Left Левая граница (твип)
  Moveable Возможность перемещения формы
  Startup-Position Расположение формы при загрузке
  Тор Верхняя граница(твип)
  Width Ширина (твип)
  Scale-Height Высота объекта в выбранных единицах измерения
  ScaleLeft Левая граница
Scale(шкала) ScaleMode Вид единицы измерения:
    0-User (пользовательский)
    1-Twip(твипы)
    2-Point (пункты)
    3-Pixel(пиксели)
    4-Character(символы)
    5-Inch (дюймы)
    6-Millimeter (миллиметры)
    7Centimeter(сантиметры)
  Sса1еТор Верхняя граница
  ScaleWidth Ширина

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

Операторы, методы и события работы с формой

Название Описание
Load Оператор, загружающий форму в память, но не отображающий ее на экране
Unload Оператор, выгружающий форму из памяти и удаляющий ее с экрана
Show Метод, загружающий и показывающий форму на экране
Hide Метод, истюлъзуемый для удаления формы с экрана, но не из памяти
Activate Событие, которое происходит, если форма становится активной
Deactivate Событие, выполняемое в том случае, когда форма перестает быть активной
Resize Событие, происходящее при изменении размеров формы


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

Текстовые и графические методы формы

Название Описание
Circle Рисование эллипса, окружности иди дуги
Cls Очистка формы от текстовой информации
Line Рисование линии или прямоугольника
Move Перемещение формы
Point Возврат значения цвета выбранной точки
Print Печать текста на форме
Pset Рисование точки заданного цвета
Scale Установка масштаба

Еще на начальном этапе создания приложения разработчик должен предусмотреть возможность выполнения определенных действий в зависимости от выбора пользователя. В этом случае наиболее простым и распространенным способом реализация подобного взаимодействия является использование в приложении управляющнх кнопок.

Для добавления кнопки на форму используется элемент управления Command Button, который имеется в стандартном комплекте панели ToolBox. Затем для нее описываются все необходимые свойства, в частности, расположение на экране, видимость, внешний вид и т. д. - аналогично приведенным выше свойствам формы. Однако управляющие кнопки имеют также другие свойства, которые отсутствуют у форм.

Отличительные свойства элемента Command Button

Название Описание
Cancel Является ли элемент кнопкой Cancel
Default Выбор кнопки по умолчанию
DisabledPicture Рисунок, изображаемый на кнопке, когда она недоступна (свойство Enabled = False), если свойство Style = 1
DownPicture Картинка, выводимая на кнопке, когда она нажата, если свойство Style = 1
Style Стиль, кнопки: 0-Standard (обычный) 1-Graphical(графический)
Tablndex Порядковый номер в последовательности перехода (при нажатии Таb)
TabStop Присутствие в последовательности перехода
ToolTipText Всплывающая подсказка для кнопки


Реализация определенных действий, предусмотренных для управляющей кнопки, осуществляется после щелчка на ней мышью во время работы приложения. В этом случае выполняется процедура обработки события Click(если она была создана), причем вид кнопки изменяется соответствующим образом, т.е. она изображается нажатой, а затем - отпущенной.

Событие Click также происходит при нажатии клавиши Enter или Пробел,но при этом необходимо, чтобы кнопка имела фокус. В дополнение к сказанному следует отметить что нажатие клавиши Esc эквивалентно событию Click для той кнопки у которой значение свойства Cancel = True, при этом местонахождение фокуса не имеет значения.

При запуске приложения, как правило, один из имеющихся на форме объектов должен быть активным, то есть обрабатывать определенным образом информацию, получаемую от мыши или клавиатуры В этом случае говорят, что данный объект имеет фокус. Например, если на форме находится две управляющие кнопки и одна из них имеет фокус, то нажатие клавиши Enter (или Пробел) приводит к вызову для нее процедуры обработки события Click.

Если управляющая кнопка имеет фокус, то она отображается с выделенной рамкой на форме. В том случае, когда объект получает фокус, для него выполняется событие GotFocus. С другой стороны, при потере фокуса объектом происходит событие LostFocus.. Получение фокуса объектом может быть реализовано несколькими способами:

  • а) При щелчке на нем мышью.
  • б) Используя клавиши перехода, а именно Таb или стрелки управления курсором.
  • в) Применяемая клавиши доступна.
  • г) Выполняя для заданного объекта метод SetFocus.


Однако следует отметить, что объект не может получить фокус, если у него свойство Visible = False т.е. если он невидим на экране. К аналогичным последствиям приведет и свойство Enabled с тем же значением, т.е. если объект не может отвечать на действия, выполняемые пользователем при работе приложения.

Существует несколько элементов управления, которые не могут получить фокус:
Label(метка), Frame (рамка), Image (изображение). Line (линия) и Shape(Фигура).
К ним также относятся и те элементы, которые не отображаются на форме при выполнении программы, в частности,Common Dialog (стандартный диалог) или Timer (часы).

Как было отмечено выше, объект может подучить фокус с помощью клавиши Таb. Однако при этом он должен находиться в последовательности перехода для данной формы, т.е. среди тех элементов, которые могут получить фокус.

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

Объекту, который на форме был создан первым, автоматически устанавливается значение свойства Tablndex=0. Соответственно, каждый последующий элемент получает номер в последовательности на единицу больше. Однако это не относится к тем объектам, которые не могут получить фокус. Для изменения порядка перехода необходимо изменить для определенных объектов значения их свойства Tablndex соответствующим образом.

Если создаваемый на форме элемент может получить фокус, то его свойству TabStop по умолчанию устанавливается значение Тгue. В этом случае, если объект необходимо исключить из последовательности перехода, то для него необходимо установить свойство TabStop = False. Данное действие может быть выполнено как на этапе разработки, так и в программном коде.

Необходимо также отметить, что при изменении свойства Tablndex у одного из элементов, а также в случае его удаления из последовательности, индексы других элементов автоматически перенумеровываются.Использование клавиш доступа при работе с управляющими кнопками также приводит к вызову процедуры обработки события Click для соответствующей кнопки.

Для описания такой клавиши необходимо в названии заголовка элемента (свойство Caption) поставить знак & перед одним из символов, после чего на кнопке он будет изображен с подчеркиванием. Событие Click в этом случае возникает для элемента при нажатии сочетания клавиш Alt-символ.

Пример.

Создание формы с тремя кнопками: "1", "2". "3".

При нажатии одной из них о произошедшем событии выводится надпись, например: "Кнопка: 1". Помимо этого, возможен доступ при помощи быстрых клавиш: Аlt-1, Аlt-2, Аlt-З соответственно. Последовательность доступа задается в порядке, обратном нумерации, т.е. "3", "2", "1". Другими словами, при загрузке формы фокус будет у кнопки "3".

Элементы управления и их свойства в приложении "Кнопки"

Элемент Свойство Значение
Форма (Name) Border Style Caption StartUpPosition frmButtons 1 - Fixed Single Кнопки 2 - Center Screen
Метка (Name) Caption lblMessage
Кнопка 1 (Name) Caption TabIndex cmdl &1 2
Кнопка 2 (Name) Caption Tablndex cmd2 &2 1
Кнопка 3 (Name) Caption Tablndex cmd3 &3 0

 

Использование кнопок управления и фокуса


Option Explicit Private Sub cmdl_Click() Call WriteCaption(1) End Slab Private Sub cmd2_Cliek() Call WriteCaption(2) End Sub Private Sub cmd3_Click () Call WriteCaption(3) End Sub Private Sub WriteCaption (Index As Byte) lblMessage. Caption = "Кнопка" & Index End Sub
При работе с текстом на форме, используются следующие элементы управления: Label и ТехtВох. Label (Метка). Применяется для отображения текста на форме, при этом его редактирование невозможно. Метки используются для визуальной подсказки пользователю о функциональном назначении того или иного элемента на форме. Свойства, используемые при работе с метками, приведены в таблице 2.31.

Название Описание
Caption Текст надписи
Alignment Выравнивание текста: 0 - Left Justify (по левому краю) 1- Center(по центру) 2- Right Justify (по правому краю)
AutoSize Автоматическое изменение размеров метки
Wordwrap Размещение текста на нескольких строках

В том случае, когда текст, находящийся в метке, не помещается в одной строке, то по умолчанию он переносится на следующую строку, если позволяет заданная высота элемента. В противном случае та часть, которая выйдет за имеющиеся границы, отображена не будет. Для автоматического расширения метки на форме необходимо установить свойство AutoSize = True.

Если необходимо расположить текст в метке на нескольких строках с автоматическим увеличением ее высоты, следует разрешить перенос слов путем присвоения World Wrap = True. При этом следует отметить, что перенос слов, установленный таким образом, будет действовать только в том случае, если установлено свойство AutoSize = True.

ТехtВох (Текстовое поле). Используется для реализации диалога с пользователем путем ввода им с клавиатуры определенной информации. Так как у элемента ТехВох отсутствует свойство Caption, то в качестве его замены используют метку с соответствующим текстом.

Основные свойства элемента ТехtBох

Название Описание
Text Содержимое текстового поля
Alignment Выравнивание текста относительно границ
MultiLine Расположение на нескольких строках
ScrollBars Полосы прокрутки для текстового поля. 0 - None (нет) 1 - Horizontal (горизонтальная) 2 - Vertical Both (o6e)
SelStart Начальное расположение курсора
SelLength Количество выделенных символов в поле
SelText Текст для замены выделенного фрагмента
PasswordChar Символ вводимого пароля
MaxLength Максимальная длина пароля
Locked Запрет на редактирование текста



Текст, который вводится пользователем, обрабатывается с помощью свойства Техt. Если он не помещается в заданных границах текстового поля, можно разрешить перенос слов путем установки свойства MultiLine = Тгuе. Вместе с этим необходимо выбрать один из вариантов для полос прокрутки текста (свойство ScrollBars), так как размеров поля может не хватить для отображения всей введенной информации.

Также можно установить тип выравнивания текста при помощи свойства Alignment (аналогично элементу Label), которое, однако, будет выполнено только в случае указанного выше присвоения MultiLine = True.
Для того чтобы при получении фокуса текстовым полем курсор находился в заданной позиции (по умолчанию - в начале текста), используется свойство SelStart - позиция.

Здесь позиция - порядковый номер символа в текстовом поле, перед которым будет расположена точка ввода, при этом нумерация символов начинается с 0. Для точки ввода можно задать не только позицию курсора, но и количество символов, которые будут выделены, т.е. какую часть текста необходимо заменить первым вводимым символом. В этом случае применяется свойство SelLength-количество.

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

Обработка событий мыши и клавиатуры


При работе любого приложения возникают различные события от мыши и клавиатуры, для которых в программе можно предусмотреть процедуры обработки. События клавиатуры возникают в том случае, когда пользователь нажимает какую-либо клавишу, а события мыши инициируются, если нажать/отпустить одну из ее кнопок, переместить указатель и т.д.

Обработка воздействий мыши состоит из следующих основных разделов:
1. События и состояние кнопок мыши.
2. Перетаскивание мышью различных элементов.
Следует отметить, что существует два часто обрабатываемых события мыпш, возникающие при использовании левой кнопки:

С1iск - происходит при щелчке на элементе;
DblClick - происходит в случае двойного щелчка.
Для некоторых элементов управления, таких как Label или Image, приведенные события инициируютея при нажатии как левой, так и правой кнопок. События и состояние кнопок мыши. В том случае, когда при работе приложения нажимается или отпускается одна из кнопок мыши, а также если ее указатель перемещается, то возникают следующие события:

MouseDown - нажата любая кнопка;
Mouseup - отпущена любая нажатая кнопка;
MouseMove - указатель мыши переместился
Перечисленные события могут распознаваться элементом управления, расположенным на форме, только в том случае, если указатель мыши находится непосредственно на нем.

Событие KeyPress различает выбор символа принадлежащего любой из приведенных категорий, а также нажатие клавиш Enter, Backspace, Tab.
События, возникающие при работе с клавиатурой

Название Описание
KeyDown Происходит, когда нажата любая клавиша
KeyPress Выполняется при выборе клавиши, соответствующей одному из символов таблицы ASCII
KeyUp Происходит при отпускании любой нажатой клавиши


Если необходимо определить, была ли нажата одна из функциональных клавиш, вспомогательных (Shift, Ctrl,Alt), либо из клавиш управления курсором, то в этом случае необходимо обрабатывать события более низкого уровня: KeyDown и Key Up.При этом необходимо заметить, что эта пара событий и KeyPress не являются заменяемыми, т.е. при нажатии, например, функциональной клавиши, вначале возникают KeyDown и KeyPress (именно в таком порядке), а затем при ее отпускании выполняется KeyUp.

Процедура обработки события KeyPress имеет один параметр: KeyAscii As Integer, который представляет собой код из таблицы символов ASCII, соответствующий нажатой клавише. При обработке кодов можно вместо числовых значений использовать константы Visual Basic, полный перечень которых можно найти в разделе KeyCodeConstants окна Object Browser.

При возникновении событий KeyDown и KeyUp, в соответствующие процедуры передаются следующие параметры:
KeyCode As Integer - аналог KeyAscii, описанного выше, однако в данном случае наличие верхнего или нижнего регистра передается через параметр Shift;
Shift As Integer - идентифицирует нажатие вспомогательных клавиш (Shift, Ctrl или Alt)

Работа с графикой

 

Включение изображений в форму.


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

Оба элемента включаются в форму стандартным образом. Необходимо, либо выполнить двойной щелчок на соответствующем элементе, либо выделив его пиктограмму, нарисовать элемент в форме при помощи мыши.
Их свойство Borderstyle имеет различное значение по умолчанию. Для элемента PictureBox устанавливается значение 1 - Fixed Single, а для элемента Image - значение 0 -None. Этим объясняется значительное различие во внешнем виде этих элементов.

Элементы управления Image и PictureBox в форме.


Элементы типа PictureBox имеют свойство Autosize, позволяющее привести в соответствие размеры изображения и самого элемента управления. Для этого свойство должно иметь значение Тгuе. По умолчанию принимается значение False. Если пренебречь установкой этого свойства, то может оказаться, что часть изображения скрыта от обозрения,так как размер изображения задан слишком маленьким.

Создание пользовательской кнопки.


Свойство Picture, которое имеется у изображения, можно применить для создания пользовательской командной кнопки, которая по своим возможностям будет аналогична стандартной кнопке, создаваемой при помощи элемента управления CommandButton. Такой графической кнопке можно легко придать желаемый внешний вид.

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

Объекты с именами imgWhite и imgBlack служат для установки изображения на графической кнопке в зависимости от того, нажата она или нет.
Следующий листинг содержит процедуры, реализующие графические кнопки программно. Для этого использованы события MouseDown H MouseUp. Три кнопки имеют имена imgFirst, imgSecond и imgThird.Так как объекты imgWhite и imgBlack служат только для хранения изображений нажатой и не нажатой кнопок, то они сделаны невидимыми посредством свойства Visible, которое имеет значение False.

Private Sub Form_Load() imgFirst.Picture = imgBlack.Picture imgSecond. Picture = imgBlack. Picture imgThird. Picture = imgBlack. Picture imgWhite.Visible = False imgBlack.Visible = False End Sub Private Sub imgFirst_MouseDown(Button As Integer, Shift As Integer, X _ As Single, Y As Single) imgFirst.Picture = imgWhite.Picture End Sub Private Sub imgFirst_MouseUp(Button _ As Integer, Shift As Integer, X As Single, Y As Single) imgFirst.Picture = imgBlack.Picture End Sub Private Sub imgSecond_MouseDown(Button As Integer, Shift As Integer, X _ As Single, Y As Single) imgSecond.Picture = imgWhite.Picture End Sub Private Sub imgSecond_MouseUp(Button As Integer, Shift As Integer, X i As Single, Y As Single) imgSecond.Picture = imgBlack.Picture End Slab Private Sub imgThird_MouseDown(Button As Integer, Shift As Integer, X _ As Single, Y As Single) imgThird.Picture = imgWhite.Picture End Sub Private Sub imgThird_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) imgThird.Picture = imgBlack.Picture End Sub <br>

Основная задача при разработке пользовательской кнопки заключается в том, чтобы элемент управления Image реагировал на события MouseDown и MouseUp аналогично обычной командной кнопке. Эту функцию и выполняет код, приведенный выше. Естественно, для того чтобы по нажатию кнопки выполнялось определенное действие, необходимо запрограммировать событие Click для соответствующего элемента Image.

Функция LoadPicture(). Часто возникает ситуация, когда изображение для элемента управления PictureBox и Image необходимо загрузить из файла, находящегося на диске. Этой цели служит функция LoadPicture().

Формат ее вызова: Pict = LoadPicture(Path), где Pict - переменная для хранения рисунка; Path - строковая переменная, содержащая путь к графическому файлу на диске. Например, следующая строка ставит в соответствие объекту picNew стандартный рисунок Windows circles.bmp: picNew.Picture = LoadPic-ture("c:\windows\circles.bmp")

Изменение пропорций и размеров рисунка.
Элемент управления Image имеет свойство Stretch. Будучи установленным равным Тгuе, это свойство позволяет менять пропорции рисунка.В рассматриваемом ниже примере форма включает два графических элемента управления.

Элемент picMain (Picture-Box) содержит рисунок с нормальными пропорциями, а элемент imgDistort (Image - рисунок, увеличенный по ширине в полтора раза. Для того чтобы размеры элемента управления PictureBox настраивались в соответствии с размерами назначенного ему рисунка, его свойство Autosize должно иметь значение Тгuе.

Содержание процедуры, которая позволяет изменить ширину рисунка по нажатию кнопки cmdChange.
Private Sub cmdChange__Click () imgDistort.Width = picMain. Width * 1.5 imgDistort. Height = picMain. Height imgDistort.Picture - picMain.Picture End Sub

Свойство Stretch можно использовать и для увеличения рисунка без изменения его пропорций. Для этого нужно определить пропорции исходного рисунка, как отношение ширины к высоте, а затем использовать этот коэффициент при задании размеров.




Поделиться с друзьями:


Дата добавления: 2014-12-24; Просмотров: 514; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.