Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование_1 / bilet_4__Obschie_kharakteristiki_elementov_upravl.docx
Скачиваний:
44
Добавлен:
16.03.2016
Размер:
105.2 Кб
Скачать

Основные свойства элементов управления

Имя

Для обращения к объекту в приложении предназначено свойство Имя (Name).

Надпись

Свойство Caption определяет текст надписи на объекте

Позиция

Позицию элемента управления определяют четыре свойства: Left, Top,

Height и Width. Эти значения по умолчанию используют в качестве единицы измерения твип (twip). Твип — это экранно-независимая единица измерения, равная 1/20 точки принтера и гарантирующая независимость отображения элементов приложения от разрешения дисплея. Отсчет в системе координат ведется сверху вниз (Y) и слева направо (X).

Цвет

Управление цветовым оформлением элементов осуществляется с помощью

свойств BackColor (цвет фона), FillColor и ForeColor, которым по умолчанию назначаются стандартные цвета Windows.

Параметры шрифта

Вид шрифта в элементах управления выбирается путем установки значений свойства Font.

Доступность и видимость элемента управления

Часто при работе приложения требуется сделать недоступными для пользователя некоторые элементы управления. Для этого используют два свойства — Enabled и Visible.

Мы уже говорили, что свойства можно изменять либо с помощью Окна свойств, либо программным способом. Про Окно свойств, наверное, уже понятно, но где писать код? Как программно изменить свойства объекта, как вызвать его методы? Пришло время познакомиться с событиями.

Ориентирование на события — это стержень создания Windows приложений в Visual Basic. При этом разработка выполняется не только в Windows, но и как Windows. Microsoft Windows — это система, базирующаяся на сообщениях и событиях. Это значит, что каждое действие в Windows вызывает событие, которое в виде сообщения передается в приложение. Приложение анализирует сообщение и

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

Допустим, что в Windows выполняются два приложения. Ни одно из них не может просто перехватить инициативу и среагировать на нажатие клавиш, так как это событие может быть предназначено другому приложению. Поэтому Windows сначала воспринимает событие, вызванное нажатием клавиш, а затем решает, кому передать обработку этого события. Затем нажатие клавиши в виде

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

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

Главный вывод: для выполнения программного кода всегда необходимо событие. Это одно из важнейших правил создания приложений в Visual Basic. Ни один код не выполняется без события.

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

Windows и Visual Basic предоставляют ряд различных событий. Приложению следует подождать, пока одно из этих событий не наступит, и только потом выполнять код.

Рассмотрим несколько событий, которые могут обрабатываться большинством элементов управления.

События щелчка мыши

Событие Click

Событие Click вызывается, как только пользователь выполнит

щелчок на элементе управления.

Событие DblCHck

Событие DblClick вызывается двойным щелчком кнопкой мыши на элементе управления.

События, связанные с мышью

Событие MouseDown

Событие MouseDown вызывается при нажатии кнопки мыши. При этом процедуре обработки события передается несколько параметров: Button As Integer, Shift As Integer, X As Single, Y As Single.

Передаваемые параметры определяют состояние кнопок мыши (Button)(Нажата кнопка мыши: 1=левая, 2=правая, 4=средняя),

управляющих клавиш (Shift)(Нажата клавиша: 0=ничего, 1=[Shift], 2=[Ctrl], 4=[Alt]) и позицию курсора (X и Y). Параметры X и Y определяют позицию курсора мыши на экране относительно верхней левой

точки элемента управления.

Событие MovseUp

Событие Mouseup вызывается при отпускании кнопки мыши.

Событие MouseMove

Это событие вызывается, когда пользователь передвигает курсор

мыши.

События клавиатуры

Событие KeyPress

Событие Keypress возвращает код ASCII нажатой клавиши. При этом не перехватываются специальные клавиши.

События KeyDown, Key Up

Эти события вызываются при нажатии (KeyDown) или отпускании (KeyUp) клавиши. Они происходят даже при нажатии специальных клавиш управления, например функциональных клавиш. При этом передаются два параметра: KeyCode и Shift. Параметр KeyCode содержит клавиатурный код (а не ASCII) нажатой клавиши, а параметр Shift информирует о состоянии клавиш [Shin], [Ctrl] и [Alt].

После нажатия клавиши события наступают в такой последовательности: KeyDown, KeyPress И KeyUp.

Теперь попробуем изменить надпись (свойство Caption) на форме программным способом. Пусть это происходит при событии FormLoad (загрузка формы), которое активируются при загрузке формы.

Для этого вызовем окно кода - Вид → Код (или кнопкой на окне объектов ).

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

Private Sub Form_Load()

frmMyForm.Caption = "Заголовок формы"

End Sub

Готово! Запускаем.

Теперь сделаем, чтобы форма при загрузке располагалась по центру экрана.

Сначала с помощью окна расположения формы установим положение формы, например, в верхнем левом углу.

Теперь добавим код, который позволит автоматически выравнять положение формы при ее загрузке по центру экрана. Для этого воспользуемся объектом Screen (Экран). Метод Move (Движение) служит для перемещения объектов.

Private Sub Form_Load()

frmMyForm.Caption = "Заголовок формы"

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

End Sub

Готово! При запуске форма располагается точно по центру экрана.

Наверное, вы заметили, что при вводе кода Visual Bacis отражает подсказки по синтаксису и предлагает продолжение фразы. Выберите свойство или метод который хотели ввести и нажмите [Tab].

К тому же, Visual Basic применяет специальную технологию для перевода кода — и поэтому сразу же после нажатия клавиши [Enter] может проверить правильность написания кода. Если код некорректен, то Visual Basic выдает сообщение об ошибке.

Начиная с Visual Basic 4.0, появилась возможность разделять логическую строку, а значит и оператор, на несколько физических строк. Разделителем строк служит пробел, следующий за символом подчеркивания (_). Это дает возможность форматировать длинные, трудно обозримые строки так, чтобы они полностью помещались на странице экрана.

Работаем дальше. Пусть при щелчке по форме на форме появляется соответствующая надпись. Код очень прост:

Private Sub Form_Click()

Form.Print "Щелчок по форме"

End Sub

Private Sub Form_Load()

frmMyForm.Caption = "Заголовок формы"

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

End Sub

Готово.

С помощью окна свойств измените шрифт текста и запустите программу.

Давайте добавим еще обработку нажатия клавиш.

Private Sub Form_KeyPress(KeyAscii As Integer)

frmMyForm.Print Chr$(KeyAscii); 'Chr$ - преобразуте код в символ

End Sub

Готово! Вот результат работы:

Соседние файлы в папке программирование_1