Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Визуальное программирование на основе библиотеки MFC. Методические указания к лабораторным работам по курсу «Визуальное программирование» для студенто

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
ВНИМАНИЕ !!!
Если мы построим наш проект,то при компиляции будет сгенирированна
ошибка.Для того чтобы ее устранить выполним изменение свойств проекта .
1. Выберем вверху команду Проект.
2. В выпадающем меню выберем подкоманду Свойства.
3. В появившемся диалоговом окне меняем Свойства Конфигурации -
Общие – Набор Символов. Было Юникод, выбираем Не задано. Теперь можно построить и запустить наше приложение.
Рис. 34. Приложение с ниспадающим меню
Создадим всплывающее меню
Чтобы использовать контекстное всплывающее меню в приложении
существует два подхода. Мы можем изначально создать специальное
контекстное меню (это меню создается как отдельный ресурс меню и не
связывается с диалоговым окном в качестве основного меню приложения) или
мы можем использовать обычное ниспадающее меню и продублировать его в
виде контекстного меню.
Каждый элемент, который разворачивается в виде ниспадащего меню,
легко может быть продублирован, как контекстное меню. Для этого для
данного меню используется функция TrackPopupMenu. Чтобы создать всплывающее меню в нашем приложении проделаем следующее:
41
На вкладке Окно классов находим класс CmenuDlg . Кликом правой кнопкой мыши выбираем команду Свойства. Щелкаем левой кнопкой мыши по значку Сообщения, перед нами
появляется много разных событий. Среди множества различных событий
выбираем событие WM_CONTEXTMENU. Щелкнув по этому событию мы добавляем функцию для события WM_CONTEXTMENU.
Рис. 35. Добавление функции обработчика события
Редактируем код созданной функции в соответствии со следующим
листингом
void CmenuDlg::OnContextMenu(CWnd* pWnd, CPoint point) { CMenu *m_lMenu; //Указатель на меню // положение мыши CPoint m_pPoint; // (объявляем переменную m_pPoint типа CPoint m_pPoint = point; //присваем нашей переменной значение существующего //положения мыши ClientToScreen(&m_pPoint) ; //преобразование положения мыши m_lMenu=GetMenu() ; //переход к меню m_lMenu =m_lMenu->GetSubMenu(0); //переход к первому элементу меню
42
m_lMenu->TrackPopupMenu(TPM_CENTERALIGN +TPM_LEFTBUTTON, m_pPoint.x, m_pPoint.y,this, NULL); //показываем всплывающее меню
}
Далее следует выполнить построение приложения и запуск его на
выполнение. При появлении окна приложения вы можете щелкнуть правой
кнопкой мыши – должно появиться контекстное меню по функциональности аналогичное соответствующему пункту основного меню.
Рис. 36. Контекстное меню
Варианты заданий к лабораторной работе № 2
Вариант 1. Создание меню Выборы
Выборы
Дума (городская, местная, областная) Местное самоуправление (завода, мэрии, кооператива, района) Президиум (собрания, кооператива, съезда) Совет (бригады, СМУ, треста, института)
Область
Московская (Орехо-Зуево, Коломна, Серпухов) Нижегородская (Дзержинск, Кстово, Богородск, Бор, Нижний Новгород)
43
Ярославская (Ярославль, Рыбинск, Мышкин, Переславль-Залеский) Мурманская (Кола, Апатиты, Ковдор, Североморск)
Голосование
За Против Воздержались
Application
Вариант 2. Создание меню Многоборье
Бег
На 1 км На 5 км На 10 км На 15 км На 20 км
Плавание
На 25м (кролем, брассом) На 30 м (кролем, брассом) На 35 м (кролем, брассом) На 40 м (кролем, брассом)
44
Подтягивание
До 10 раз (с нагрузкой, без нагрузки) До 20 раз (с нагрузкой, без нагрузки) До 30 раз (с нагрузкой, без нагрузки)
Application
Вариант 3. Создание меню Подписка
Журналы
Мода (женская, мужская, классическая) За рулем (1-квартал, 2 квартал, 3 квартал. 4 квартал) Буратино (1-квартал, 2 квартал, 3 квартал, 4 квартал) Буревестник (1-квартал, 2 квартал, 3 квартал, 4 квартал)
Газеты
Нижегородский рабочий (1-квартал, 2 квартал, 3 квартал, 4 квартал) Честное слово (1-квартал, 2 квартал, 3 квартал, 4 квартал) Центральная (1-квартал, 2 квартал, 3 квартал, 4 квартал) Комсомольская правда (1-квартал, 2 квартал, 3 квартал, 4 квартал)
Книги
Сказки (детские, взрослые) Кулинария (русская, украинская, белорусская) Программирование (С++, паскаль, Visual C++, Basic, Delphi)
45
Литература
Юридическая литература Строительство Медицина
Application
Вариант 4. Создание меню Продукция
Наименование
Масло (крестьянское, кремлевское, Вологодское) Сыр (голландский, плавленый, с плесенью) Колбасы (молочная, сервелат, полукопченая) Рыба (щука, карась, палтус, капитан) Фрукты (яблоки, апельсины, мандарины)
Заказчик
Магазин Торговая база Склады (городские, районные, частные)
Срок отправки
В течении дня В течении недели В течении месяца
Application
46
Вариант 5. Создание меню Качество
Наименование
Плиты (3м, 4м, 5м, 6м) Ж/бетон (марки 300, марки 400, марки 500) Краска (масляная, эмаль) Цемент (м200, м300, м400) Трубы (диаметр 100, диаметр 200, диаметр 300, диаметр 400)
Качество
Удовлетворительное Хорошее Отличное
Себестоимость
Высокая Низкая Умеренная
Энергозатраты
Высокие Низкие Умеренные
Application
47
Вариант 6. Создание меню Оптовая база
База
Ленинградская Московская Нижегородская Вологодская
Сведения о товаре
Пальто (зимнее, весеннее) Куртки (зимние, легкие) Рубашки (ситцевые, льняные, вельветовые) Ботинки (зимние, летние) Платья (вечерние, выходные, повседневные)
Количество поставок
До 100 штук До 1000 штук До 5000 штук До 6000 штук До 10000 штук
Отгрузка
Немедленно (в течение часа, дня) В течении недели В течении месяца
48
Application
Вариант 7. Создание меню Авиарейс
Пункт Назначения
Санкт-Петербург (номер рейса, время вылета, время прибытия Москва (номер рейса, время вылета, время прибытия) Нижний Новгород (номер рейса, время вылета, время прибытия) Пермь (номер рейса, время вылета, время прибытия) Владимир (номер рейса, время вылета, время прибытия)
Свободные места
Есть в наличии Есть на следующий день Нет мест на транзитный рейс
Свойство рейса
Местный рейс (прямой, транзит) Международный (прямой, транзит) Внутренний (прямой, транзит)
Марка самолета
Ту 104 (бизнес-класс, эконом-класс) Як-40 (бизнес-класс, эконом-класс) Ми-100 (бизнес-класс, эконом-класс) Ан-2 (экскурсионный, пассажирский, грузовой)
49
Application
По городу По пригороду По реке По музеям
Вариант 8. Создание меню Туризм
Маршрут
Способ передвижения
Пешком (с остановками, без остановок) На велосипедах (обычных, спортивных) По воде (на байдарках, на лодках, на теплоходе) На транспорте (автомобиль, автобус, гужевом)
Состав группы
До 5 человек (с инструктором, без инструктора) До 10 человек (с инструктором, без инструктора) До 15 человек (с инструктором, без инструктора) До 20 человек (с инструктором, без инструктора) До 25 человек (с инструктором, без инструктора)
Application
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]