Читайте также:
|
|
Следующий пример показывает, как работают флажки во всех трех состояниях:
1. Создайте новый проект командой File > New Project.
2. В окне свойств замените значение свойства Name с Form1 на frmMain.
3. Поместите на форму флажок. Задайте его свойству Name значение chkOptions, а свойству Caption — текст Задайте начинку для сэндвича:.
4. Дважды щелкните на флажке chkOptions, чтобы открыть окно программы. Выберите из списков объектов и процедур строки (General) и (Declarations) и добавьте следующий фрагмент:
Public PeanutButter As Boolean
Public Jelly As Boolean
5. Добавьте в процедуру события MouseUp события chkOptions следующий фрагмент:
Private Sub chkOptions_MouseUp(Button As Integer, Shift As Integer, _
X As Single, Y As,Single)
frmOptions.Show vbModal
If PeanutButter And Jelly Then
chkOptions.Value = 1
Exit Sub
End If
If PeanutButter Or Jelly Then
chkOptions.Value = 2
Exit Sub
End If
If PeanutButter And Not Jelly Then
chkOptions.Value = 3
Exit Sub
End If
End Sub
6. Щелкните в окне проекта правой кнопкой мыши и выберите из контекстного меню команду Add > Form. Выберите новую форму (значок Form) в окне Add Form.
7. В окне свойств задайте свойству Name новой формы значение frmOptions, а свойству Caption — значение Set Options.
8. Создайте на форме frmOptions флажок. Задайте свойству Name значение chk-PeanutButter, а свойству Caption — значение Арахисовое масло.
9. Создайте на форме еще один флажок. Задайте свойству Name значение chkJelly, а свойству Caption — значение Мармелад.
10. Дважды щелкните на форме frmOptions, чтобы открыть окно программы. Добавьте в процедуру события Load формы следующий фрагмент:
Private Sub Form_Load()
If frmMain.PeanutButter Then
ChkPeanutButter.Value = 1 Else
chkPeanutButter.Value = 0
End If
If frmMain.Jelly Then
chkJelly.Value = 1 Else
chkJelly.Value = 0
End If
End Sub
11. Добавьте в процедуру события Click переключателя chkPeanutButter следующий фрагмент:
Private Sub chkPeanutButter_Click()
If chkPeanutButter.Value = 1 Then
frmMain.PeanutButter = True
Else
frmMain.PeanutButter = False
End If
End Sub
12. Добавьте в процедуру события Click переключателя chkJelly следующий фрагмент:
Private Sub chkJelly_Click()
If chkJelly.Value = 1 Then
frmMain.Jelly = True Else
frmMain.Jelly = False
End If
End Sub
13. Запустите приложение командой Run > Start.
Если теперь щелкнуть на флажке, находящемся на форме frmMain, открывается диалоговое окно, в котором можно выбрать начинку для сэндвича — арахисовое масло и мармелад. Одни предпочитают сэндвичи с двумя видами начинки, другие ограничиваются чем-то одним. Если установить оба флажка и закрыть диалоговое окно, то флажок на форме будет установлен, а если выбрать лишь один флажок (арахисовое масло или мармелад), он будет находиться в неопределенном состоянии. Если вообще отказаться от начинки, флажок будет снят.
Рамки
Рамки (см. рисунок) обычно используются не сами по себе, а в сочетании с другими элементами. Внутри рамок размещаются такие элементы, как переключатели Я или флажки. Они группируются и в случае перемещения рамки перемещаются вместе с ней. Чтобы поместить элемент (скажем, переключатель) внутрь рамки, нельзя воспользоваться традиционным способом (дважды щелкнуть на нем и перетащить в нужное место). Вместо этого необходимо один раз щелкнуть на кнопке элемента в панели элементов и перетащить его внутрь рамки. После этого внутренние элементы будут перемещаться вместе с рамкой. Кроме того, рамки используются для группировки переключателей — если установить один переключатель во время выполнения программы, то все остальные переключатели группы автоматически снимаются. Если случайным образом разбросать переключатели по форме, они будут действовать как одна большая группа. Чтобы распределить их по группам, следует прибегнуть к помощи рамок. Переключатели, находящиеся внутри рамки, работают как самостоятельная группа и не влияют на состояние переключателей в других рамках. Хотя рамки нередко используются для группировки флажков, каждый флажок работает самостоятельно. Следовательно, установка одного флажка никак не отражается на состоянии остальных флажков той же группы. Такое поведение вполне логично — флажки не являются взаимоисключающими элементами (тогда как переключатели внутри одной группы, напротив, зависят друг от друга). Флажки группируются внутри рамок, чтобы не перемещать их в режиме конструирования по отдельности. Кроме того, рамка помогает визуально объединить флажки. Например, флажки, относящиеся к разным возможностям программы, можно расположить в разных рамках.
Имена рамок обычно имеют префиксы fга. Рамки должны помещаться на форму раньше элементов, находящихся внутри них.
Дата добавления: 2015-07-20; просмотров: 69 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Свойства флажков | | | Методы рамок |