Настройка свойств формы

Значения многих свойств можно задавать как в режиме выполнения, так и в режиме конструирования. Некоторые свойства устанавливаются только в режиме конструирования (например, BorderStyle), а некоторые свойства можно задавать и читать только в режиме выполнения. Свойства, доступные только в режиме выполнения (например, hWnd), не отображаются в окне свойств в режиме конструирования.

 

ПРИМЕЧАНИЕ В режиме конструирования значения свойств изменяются в окне свойств, а в режиме выполнения задаются из программы.

 

Свойство Caption — одно из тех свойств, которые легко изменить в режиме выполнения. Приведу небольшой пример: строка «Привет» в заголовке формы здесь заменяется строкой «Пока». Впоследствии мы расширим эту программу и научимся задавать названия для отдельных объектов на форме.

1. Создайте новый проект (File > New Project) и измените значение Form1 свойства Name в окне свойств на frmForm1. Кроме того, установите значение свойства

Caption в Привет.

2. Дважды щелкните на элементе-кнопке в панели элементов, чтобы разместить на форме кнопку. Задайте для свойства Name значение cmdHello, а для свойства Caption — значение &Не11о.

3. Дважды щелкните на кнопке, чтобы открыть окно программы с процедурой cmdHello_Click. Добавьте в процедуру следующий фрагмент (также см. рис. 2.2):

 

If frmForm1.Caption = "Привет" Then

frmForm1.Caption = "Пока"

Else

frmForm1.Caption = "Привет"

End If

 

ПРИМЕЧАНИЕ Операторы If-Then-Else позволяют принимать решения в программах. Если условие If истинно, то выполняется действие Then, иначе выполняется Else. Логика и последовательность выполнения программы подробно рассматривается в уроке 6.

Puc. 2.2. Добавление нового фрагмента в процедуру

 

4. Запустите приложение (Run > Start) и нажмите кнопку.

Приведенный выше фрагмент проверяет текущее значение свойства Caption формы. Как видно из рис. 2.3, если на момент нажатия кнопки оно равно "Привет", то оно заменяется на "Пока". В противном случае (то есть в условии Else) ему снова присваивается строка "Привет".

 

Рис. 2.3. Изменение свойства Caption

 

Новый вариант программы

В следующем примере мы сделаем шаг вперед. Двойным щелчком на кнопке откройте окно программы с процедурой Click. Отредактируйте процедуру так, чтобы она приняла следующий вид:

 

If frmForm1.Caption = "Привет" Then

frmForm1.Caption = "Пока"

cmdHello.Caption = "&Привет"

Else

frmForm1.Caption = "Привет"

cmdHello.Caption = "&Пока"

End If

 

ПРИМЕЧАНИЕ При задании строковых свойств в программе не забывайте за-ключать их в кавычки. Тем самым вы сообщаете компилятору, что указываете фактическое значение, а не ссылаетесь на имя другой переменной. Если значение строкового свойства задается в окне свойств, кавычки не нужны.

 

Исправление ошибки

Как видно из рис. 2.4, наша процедура теперь содержит две дополнительные строки, которые задают значение свойства Caption для кнопки в режиме выполнения:

cmdHello.Caption = "&Привет"

cmdHello.Caption = "&Пока"

 

Если вы работаете в Windows 95, проследите за изменением текста кнопки на панели задач в соответствии с текущим названием формы. Кроме того, похоже, в нашем приложении допущена ошибка — при запуске на кнопке появляется текст «Привет», хотя вместо него должно быть написано «Пока». Разумеется, проблему можно решить, просто изменяя свойство Caption в режиме конструирования, но мы пойдем другим путем.

Эта маленькая ошибка исправляется следующим образом:

1. Дважды щелкните на форме в конструкторе, чтобы загрузить окно программы с процедурой Form_Load.

2. Добавьте в процедуру следующий оператор (между строками Private Sub и End Sub), как показано на рис. 2.5:

cmdHello.Caption = "&Пока"

 

Рис. 2.4. Работа со свойством Caption

Рис. 2.5. Изменение процедуры Load

 

3. Запустите приложение (Run > Start) — на этот раз все работает правильно.

Что же произошло? Мы воспользовались одним из событий, связанных с формой, и изменили свойство элемента в режиме выполнения программы. Давайте рассмотрим некоторые из этих событий. Не обращайте внимания на префикс Private процедуры Form_Load — его смысл станет понятен из урока 4.

 

События форм

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

 

Activate KeyDown LostFocus OLESetData
Click KeyPress MouseDown OLEStartDrag
DblClick KeyUp MouseMove Paint
Deactivate LinkClose Mousellp QueryUnload
DragDrop LinkError OLECompleteDrag Resize
DragOver LinkExecute OLEDragDrop Terminate
GotFocus LinkOpen OLEDragOver Unload
Initialize Load OLEGiveFeedback  

 

Лишь немногие события (как, впрочем, и свойства) используются достаточно часто. В таблице они выделены жирным шрифтом. С большинством событий приходится сталкиваться лишь при разработке очень сложных приложений. Чтобы просмотреть события, связанные с формой, в режиме конструирования, дважды щелкните на ней — откроется окно программы. Текущая форма автоматически выбирается в списке Object, поэтому вам остается лишь раскрыть связанный с ней список Ргос (рис. 2.6):

 

 

Рис. 2.6. Список событий, связанных с формой

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: