Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ИП 2010-04-04 doc.doc
Скачиваний:
108
Добавлен:
13.05.2015
Размер:
5.96 Mб
Скачать

Вопросы для самопроверки и контроля

Вопросы для самопроверки

  1. В чем состоит разница между закрытыми и открытыми процедурами?

  2. Что означает слово Public в заголовке процедуры или функции?

Контрольные вопросы

  1. Что означает слово Private в заголовке процедуры или функции?

  2. Какие процедуры содержит модуль формы?

  3. В чем заключается отличие класса от модуля?

  4. Что означает слово WithEvents в объявлении объекта?

  5. В чем состоит разница между процедурами-свойствами типа Get и Let?

Глава 8. Разработка интерфейса

8.1. Меню

. Для формирования меню выполните команду Tools/Menu Editor.Поя­вится окно редактора меню (рис. 8.1.1) с предлагаемым далее приме­ром. Элементы меню обладают свойствами и поддерживают одно событие Click. Для каждой формы может быть не более одного меню. Меню прикрепляется к левому верхнему углу формы.

Рис. 8.1.1. Редактор меню

Специфичные свойства

Caption‑ определяет текст строки меню, выводимый на экран. Если ука­зать “&”, то следующий за ним символ будет подчеркнут и станет сим­волом ускоренного вызова при совместном нажатии клавиши Alt для откры­тия меню. Для включения в меню строки-разделителя нужно указать Caption=”-“; при этом указывается значение и для Name.

Name‑ определяет программное имя элемента меню для ссылок.

Checked - помечает или удаляет “галочку” рядом с выбранной строкой меню, включая или выключая состояние команды меню.

ShortCut - задает клавишу прямого вызова команды меню, не открывая меню.

Enabled‑ запрещает/разрешает использование команды меню.

Visible‑ запрещает/разрешает отображение на экране команды меню.

Index‑ используется в режиме динамического формирования специаль­ных меню как номер элемента массива с пунктами меню (п.8.2).

Горизонтальные стрелочки используются для перемещения строк по уровням иерархии строк, вертикальные ‑ для перемещения строк по верти­кали. Кнопки Next, InsertиDeleteиспользуются, соответственно, для пе­ре­­хо­да на формирование следующей строки меню, вставки новой строки перед текущей и удаления текущей строки меню.

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

Рекомендуетсяпункты меню, которые вызывают диалоговые окна, заканчивать троеточием.

Примерсоздания меню (рис. 8.1.2).

Рис. 8.1.2. Форма меню

Используя меню, можно изменять цвет формы на красный, синий, белый или на любой, который пожелает пользователь; можно изменить размер формы на маленький, или на большой (на весь экран).

Меню состоит из двух пунктов первого уровня (цвет, размер), двух под­меню второго уровня (первое: выбрать цвет, выход (Exit) и второе: ма­лень­кий (Small) и большой (Big)) и одного под­меню третьего уровня: крас­ный (Red), синий (Blue), белый (White) и лю­бой (Any) (рис. 8.1.1) Раз­мес­тим на форме объект Common Dialog для настройки цвета (пп. 8.4.1, 8.4.4).

Приведем тексты процедур.

Private Sub Form_Load() ‘процедура загрузки формы

white.Enabled = False ‘блокировка строки “Белый”, форма уже белая

small.Enabled = False ‘блокировка строки меню “Маленький”

End Sub

Private Sub red_Click() ‘процедура обработки строки меню “Красный”

Form1.BackColor = QBColor(4) ‘цвет формы меняется на красный

red.Enabled = False ‘блокировка строки “Красный”, форма уже красная

blue.Enabled = True ‘разблокировка строки “Синий”

white.Enabled = True ‘разблокировка строки “Белый”

End Sub

Private Sub blue_Click() ‘процедура обработки строки меню “Синий”

Form1.BackColor = QBColor(1) ‘цвет формы меняется на синий

red.Enabled = True ‘разблокировка строки “Красный”

blue.Enabled = False ‘блокировка строки “Синий”, форма уже синяя

white.Enabled = True ‘разблокировка строки “Белый”

End Sub

Private Sub white_Click()‘процедура обработки строки меню “Белый”

Form1.BackColor = QBColor(15) ‘цвет формы меняется на белый

red.Enabled = True ‘разблокировка строки “Красный”

blue.Enabled = True ‘разблокировка строки “Синий”

white.Enabled = False ‘блокировка строки “Белый”, форма уже белая

End Sub

Private Sub any_Click() ‘процедура обработка строки меню “Любой”

CommonDialog1.Flags = cdlCCRGBInit ‘диалог выбора цвета (п.8.4.4)

CommonDialog1.ShowColor ‘вывод окна настройки цвета (рис.8.4.4.1)

Form1.BackColor = CommonDialog1.color ‘цвет формы меняется на новый

red.Enabled = True : blue.Enabled = True : white.Enabled = True

End Sub

Private Sub small_Click()‘процедура обработки строкиМаленький

Form1.WindowState= 0 ‘уменьшение размера формы

small.Enabled=False‘блокировка строки меню “Маленький”

big.Enabled = True ‘разблокировка строки меню “Большой”

End Sub

Private Sub big_Click() ‘процедура обработки строки меню “Большой”

Form1.WindowState = 2 ‘распахивание формы на весь экран

small.Enabled = True ‘разблокировка строки меню “Маленький”

big.Enabled = False ‘блокировка строки меню “Большой”, уже большая

End Sub

Private Sub exit_Click()‘процедура обработки строки меню “Выход”

End ‘окончание работы программы

End Sub