Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы ПП all-in-one.docx
Скачиваний:
10
Добавлен:
14.11.2019
Размер:
2.64 Mб
Скачать

Шаг 12.1. По аналогии с созданием пункта Toolbar1 создайте самостоятельно пункт меню Statu Bar1 для отображения или закрытия панели состояния

Шаг 12.2. Аналогично добавьте обработчик события щелчка левой кнопкой мыши на пункте меню Status Bar:

Взаимоисключающие пункты-переключатели

В Windows 95 стал широко применяться еще один способ пометки пунктов — жирной точкой. Он используется в тех случаях, когда несколько пунктов меню работают согласованно как один переключатель с множеством состоя­ний. В нашем примере с помощью жирной точки удобно реализовать выбор масштаба для картинки. Рассмотрим, как это делается.

Шаг 13. Добавьте в меню View три пункта: Half Size (программный идентификатор HalfSize1), Normal Size (программный идентификатор NormalSize1) и Double Size (программный идентификатор DoubleSize1), отделив их от остальных пунктов меню с помощью разделительной линии.

Шаг 14. Прежде всего сделайте метку жирной точкой, установив в каждом но­вом пункте свойство RadioItem в значение true. Теперь объедините пункты меню в одну согласованно работающую группу, для этого в каждом пункте установите одинаковый ненулевой GroupIndex, например 1. Один из пунктов пометьте.Для этого установите его свойство Checked в значение true (рис.):

Шаг 15. Чтобы привести в действие механизм переключения пунктов, определите в них следующие обработчики события OnClick:

//--------------------------------------------

void __fastcall TPictureForm :: HalfSizeItemClick (TObject *Sender)

{

HalfSizeItem->Checked = true;

// показать картинку половинного размера

}

//--------------------------------------------void __fastcall TpictureForm :: NormalSizeItemClick (TObject *Sender)

{

NormalSizeItem->Checked = true;

// показать картинку нормального размера

}

// -------------------------------------------

void __fastcall TPictureForm :: DoubleSizeItemClick (TObject *Sender)

{

DoubleSizeItem->Checked = true;

// показать картинку двойного размера

}

Скомпилируйте проект и удостоверьтесь, что новые пункты меню работают как взаимоисключающие переключатели.

Запрещенные пункты меню

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

Шаг 16. Запретите пункты Save As..., Close, когда нет открытого графического файла. Для этого в каждом из указанных пунктов меню установите свойство Enabled в значение false.

Запретите также Half Size, Normal Size и Double Size:

Шаг 17. Во время работы приложения потребуется динамически разрешать и запрещать пункты меню в зависимости от того, открыт графический файл или нет. Так как эти действия достаточно универсальны, оформите их в виде член-функции EnableCommands() класса TPictureForm. Для этого объявите в заголовочном файле Main.h функцию класса TPictureForm:

class TPictureForm : public TForm

{

...

private: // User declarations

void EnableCommands (bool Enable);

}

В файле Unit1.cpp определите после всех функций отклика саму функцию :

void TPictureForm :: EnableCommands (bool Enable)

{

SaveAsItem->Enabled = Enable;

CloseItem->Enabled = Enable;

HalfSizeItem->Enabled=Enable;

NormalSizeItem->Enabled=Enable;

DoubleSizeItem->Enabled=Enable;

}

Если значение параметра Enable равно true, то пункты меню будут открыты, а, если значение false, то - закрыты.

Шаг 18. В обработчик команды меню Open поместите вызов функции EnableCommands() с параметром true, а в обработчик команды Close — вызов метода EnableCommands с параметром false:

void__fastcall TPictureForm :: OpenItemClick

(TObject *Sender)

{// Открыть файл картинки и разрешишь команды

EnableCommands (true);}

void__fastcallTPictureForm::CloseItemClick

(TObject *Sender)

{// Закрыть файл картинки и запретить команды

EnableCommands (false);}

Шаг 18.1. Выполните компиляцию и запустите проект. Обратите внимание на то, как изменилось меню приложения. В начале работы отдельные пункты выпадающих меню File и View запрещены. Выбор команды File | Open разрешает их использование, а выбор команды File | Close — запрещает.