Создание и редактирование ресурсов меню при работе с C++ стандарта ISO/ANSI (Лабораторная работа № 8 по VISUALC++ 2005)

Страницы работы

Содержание работы

Лабораторная работа №8 по VISUALC++ 2005

"Создание и редактирование ресурсов  меню при работе с C++ стандарта ISO/ANSI "

1 Постановка задачи

В пункт меню File добавить подпункт «Privet», при выборе которого на экране появляется текст «Будьмо!». Добавить кнопку инструментов, нажатие на которую дублирует работу добавленного подпункта меню.

2 Общие указания

2.1 Добавление новой команды меню

1)  Start Page. Create:Project.
Выбрать тип проекта (Project Types) MFC, шаблон- MFC Application,
Name- menu1.

2)   В окне Application Type выбрать Single document. Снять флажок Use Unicode libraries. Щёлкнуть на Finish.

3)  В левой части окна выбрать вкладку Resource View (Просмотр ресурсов). Щёлкнув по значку «+» около menu1, получим  +menu1.rc. После щёлчка на знаке  «+» эта папка раскрывается. Выбираем папку Menu и раскрываем ее. Дважды щелкнуть на IDR_MAINRAME. Появится окно редактора меню.

4)  Навести курсор на пункт меню File →Print Preview , щёлкнуть на нём и нажать клавишу insert.
Выше пункта меню File →Print Preview  появится пустая вставка. Занести в неё «Privet».(без кавычек)

5)  Для подключения новой команды меню к коду программы следует выделить пункт «Privet», правой кнопкой мыши вызвать контекстное меню и выбрать в нём Add Event Handler (добавить обработчик событий).

6)  Появляется окно Event Handler Wizard-menu1. В окне Message type выбрать COMMAND(обычно оно будет установлено автоматически), а в списке Class list выбрать класс Cmenu1View и щёлкнуть на кнопке Add and Edit.

7)  В файле menu1View.cpp появится заготовка для функции-

 обработчика события.  Пункт меню  назван на латыни. Поэтому имя обработчика автоматически устанавливается OnFileprivet().  Для пункта меню, названного на киррилице, имя может быть таким:OnFile32772().

Независимо от имени обработчика  в нём необходимо запрограммировать  запись строки символов «Будьмо!» и вывод её на экран.

      Как известно, информация о том, что выводить на экран, поступает от объекта класса "Документ". Поэтому предварительно в класс Cmenu1Doc надо занести  элемент данных типа CString. Назовём его stroka. Для этого выбираем вкладку Class View, выделяем класс Cmenu1Doc, вызываем контекстное меню и выбираем в нём Add→Add Variable. Появится окно Add Member Variable Wizard—menu1. В окне Access выбираем метку  доступа  public.
В окне  Variable type пишем CString
В окне Variable  name помещаем stroka.
 Щёлкнуть на Finish.

8)  В обработчике пишем необходимый код:
void Cmenu1View::OnFileprivet ()
{
Cmenu1Doc*pDoc=GetDocument();

ASSERT_VALID(pDoc);
pDoc->stroka=”Будьмо!”;// Занесение текста в stroka
Invalidate(); //Объявляется недействительным содержимое окна.      //Значит его можно заменить на новое.
}

9)  В функции вывода на экран запрограммируем вывод содержимого переменной   stroka:

void Cmenu1View::OnDraw(CDC*pDC)
{
……….
pDC->TextOutW(0,0, pDoc->stroka); //Вывод на экран  содержимого

//  переменной   stroka в точку с координатами  0,0 .
}

2.2 Добавлениеновойкнопкиинструментовменю

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

 File->Privet.

1) В окне Resource View выбрать папку Toolbar и раскрыть её.

2) Щёлкнуть два раза по IDR_MAINFRAME.  Появится окно графического редактора.

В панели инструментов имеется пустая кнопка, а в графическом окне- увеличенное изображение кнопки. Если щёлкнуть по пустой кнопке, в графическом окне будет её изображение.

          Выбрать цвет карандаша и нарисовать в увеличенной кнопке какой-либо придуманный Вами символ для пункта меню "Privet" . По окончанию навести курсор на нарисованную кнопку в панели инструментов, и вызвать контекстное меню. В нём выбрать Properties (свойства).

          В строке ID щёлкнуть по правой колонке и открыть список. В нём выбрать ID_FILE_PRIVET. Таким образом, установлена связь новой кнопки с пунктом меню File->Privet.

          В строке Prompt справа ввести  Privet\nPrivet. Это имя кнопки и после "\n" – текст всплывающей подсказки при наведении курсора на кнопку.

3) Закрыть графическое окно, щёлкнув по крестику справа вверху.

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

1 Как вызвать редактор меню?

2 Как вставить новый пункт меню?

3 Как создать обработчик для нового пункта меню?

4 Как добавить новую кнопку в панель инструментов?

5 Как связать кнопку инструментов с требуемым пунктом меню?

6 Как сделать для кнопки меню всплывающую подсказку?

7 Как запрограммировать выводимый обработчиком текст и как его вывести на экран?

Список литературы

1 Айвор Хортон  VISUAL C++ 2005 Базовый курс, «Диалектика», Москва*Санкт-Петербург*Киев , 2007г.

2 Сергеев А.П., Терен А.Н. Программирование в VISUAL C++ 2005 «Диалектика», Москва*Санкт-Петербург*Киев , 2006г.

Похожие материалы

Информация о работе

Тип:
Методические указания и пособия
Размер файла:
38 Kb
Скачали:
0