|
Всплывающее (локальное) меню (pop-up menu) представлено в C++Builder компонентом PopupMenu. Отыщите его в палитре компонентов на страниц Standard (рис. 14).
Поместите компонент на форму и присвойте новому компоненту имя PopupMenu:
Познакомьтесь с некоторыми свойствами компонента всплывающего меню (таблица 4).
Таблица 4. Важнейшие свойства компонента PopupMenu.
Свойство | Описание |
Alignment AutoPopup Items | Определяет место, в котором появляется меню относительно курсора мыши: paLeft — левый верхний угол меню совпадает с позицией курсора мыши. paCenter — середина верхнего края меню совпадает с позицией курсора мыши. paRight— правый верхний угол меню совпадает с позицией курсора мыши. Если равно true, то меню всплывает автоматически после щелчка правой кнопкой мыши. Если равно false, то за отображение меню отвечает программист. Обеспечивает доступ к пунктам меню. |
Шаг 19. Всплывающее меню формируется, как и главное, — в дизайнере меню. Двойным щелчком мыши на компоненте PopMenu откройте окно дизайнера меню и, используя уже известные вам приемы, добавьте в меню пункты Half Size (с идентификатором PopHalfSizeItem), Normal Size (с идентификатором PopNormalSizeItem) и
Double Size (с идентификатором PopDoubleSizeItem).
Шаг 19. 1. Во всех пунктах всплывающего меню установите следующие свойства:
Enabled = false GroupIndex = 1 Radioltem = true
Кроме этого, пометьте пункт Normal Size, установив в нем свойство Checked в значение true. Таким образом, команды всплывающего меню дублируют некоторые команды главного меню (рис.):
Шаг 20. Теперь перейдите к программированию обработчиков событий для выскакивающего меню. В данном примере команды всплывающего меню обрабатываются так же, как и команды одноименных пунктов главного меню. Поскольку для пунктов главного меню обработчики уже написаны, то их просто нужно подключить к пунктам всплывающего меню.
Для этого активизируйте в дизайнере меню пункт Half Size и выберите в инспекторе объектов страницу Events. Теперь в значении события OnClick откройте выпадающий список и выберите обработчик
HalfSize1CIick ():
То же самое проделайте с пунктами Normal Size и Double Size, но установите в них обработчики NormalSize1Click() и DoubleSize1Click() соответственно.
Шаг 21. Для синхронной работы главного и всплывающего меню добавьте в следующие функции строки, выделенные жирным шрифтом:
void__fastcall TPictureForm::HalfSize1Click
(TObject *Sender)
{
HalfSize1->Checked = true;
HalfSize2->Checked = true;
//показать картинку половинного размера
}
// -------------------------------------
void__fastcall TPictureForm::NormalSize1Click
(TObject *Sender)
{
NormalSize1->Checked = true;
NormalSize2->Checked = true;
// показать картинку нормального размера
}
// -------------------------------------
void__fastcall TPictureForm::DoubleSize1Click
(TObject *Sender)
{
DoubleSize1->Checked = true;
DoubleSize2->Checked = true;
// показать картинку двойного размера
}
// -------------------------------------
void TPictureForm::EnableCommands(bool Enable)
{
SaveAs1->Enabled = Enable;
Close1->Enabled = Enable;
HalfSize1->Enabled = Enable;
NormalSize1->Enabled = Enable;
DoubleSize1->Enabled = Enable;
HalfSize2->Enabled = Enable;
NormalSize2->Enabled = Enable;
DoubleSize2->Enabled = Enable;
}
Шаг 22. Всплывающее меню создано. Осталось сделать так, чтобы оно вызывалось по щелчку правой кнопки мыши в области формы. Для этого активизируйте форму и запишите в значении свойства PopupMenu имя разработанного всплывающего меню PopupMenu. Можно ввести это значение с клавиатуры или выбрать из выпадающего списка (рис.).
Шаг 22.1. Скомпилируйте и запустите проект. Щелчок правой кнопкой мыши окне приложения вызовет появление всплывающего меню. Все его пункты окажутся запрещены. Чтобы пункты всплывающего меню заработали, выполните команду главного меню
File | Open... После этого убедитесь, что выпaдающее меню работает синхронно с главным меню.
Продолжите развитие приложение для просмотра графических файлов. Теперь предстоит решить две задачи:
· Организовать выбор графического файла по командам меню Open... и Save As...
· Реализовать загрузку и отображение картинки
Первая задача решается с помощью стандартных диалоговых компонентов OpenDialog и SaveDialog, вторая — с помощью специального компонента Image.
Дата добавления: 2015-10-28; просмотров: 150 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Выполнение работы | | | Диалоговые окна открытия и сохранения файла |