Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторная 1, сем 2, ЯП.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
564 Кб
Скачать
☆
  1. Текст общих указаний к выполнению задач данной лабораторной работы и текст индивидуальной задачи (задач) выполненного Вами варианта задания.

  2. Блок-схемы алгоритмов и откорректированные после выполнения тексты только тех функций, которые реализуют приложения индивидуальных заданий.

В процессе выполнения лабораторных работ в семестре вы должны набрать определенное количество баллов.

Максимальное количество баллов, которые вы можете собрать в семестре – 50.

  • Каждая лабораторная работа, представленная преподавателю в требуемый срок, дает вам 5 баллов. Задержка срока представления вами лабораторной на одно занятие уменьшает количество получаемых вами баллов на 2 балла. Минимум за представленную с опозданием лабораторную работу равен 1 баллу.

  • Защита каждой лабораторной работы может принести вам от 1 до 5 баллов. Защитить лабораторную работу необходимо в период между ее представлением преподавателю и представлением следующей выполненной лабораторной работы. Лабораторная работа не принимается к рассмотрению, если не защищена предыдущая лабораторная работа.

Если в течение семестра в срок до начала зачетной недели вы сумели набрать 40 баллов и больше, зачет вы получаете автоматом и вы допускаетесь до экзаменов. В противном случае вы сдаете письменный зачет.

На письменном зачете для получения допуска на экзамен вам необходимо решить задачи по тем разделам, которые вы не проработали в течение семестра. На зачете вы можете получить для решения от 1 до 3 задач в зависимости от количества набранных вами баллов в семестре и количества представленных и защищенных вами работ. Допуск на экзамены - успешное получение зачета и успешная защита курсовой работы.

Общие требования к разрабатываемым текстам приложений, выполняемых в лабораторных работах и в курсовой работе

  1. Текст разрабатываемого приложения должен содержать отступы, увеличивающиеся при каждом уровне вложенности блоков (текст должен быть читабелен).

  2. Глобальные объекты должны быть обязательно прокомментированы.

  3. Необходимо комментировать разработанные вами функции, указывая в комментариях их назначение, что получает и возвращает функция, и как.

  4. Должны быть обязательно прокомментированы только неочевидные фрагменты разработанных вами функций.

  5. Модуль, содержащий функцию mainдолжен иметь комментарий, содержащий текст индивидуального задания. Текст комментария должен быть аккуратно оформлен.

Лабораторная работа №1

Цель работы: Освоение приемов создания меню. Работа в редакторе ресурсов.

Лабораторная работа имеет только общее задание.

Теоретический материал Ресурсы Windows – приложения

Ресурсы являются составной частью приложения для Windows. В них определяются такие объекты, как пиктограммы, курсоры, меню, диалоговые окна и другие. Часть объектов используемых ресурсов могут быть стандартными и системе достаточно дать указание на их использование.

Все нестандартные объекты ресурсов должны быть описаны вASCII- файле с расширением.rcна специальном языке описания объектов ресурсов. Теоритически этот файл может быть написан в обычном текстовом редакторе, но обычно в любой среде имеются графические редакторы, позволяющие упростить и автоматизировать процесс написания файла ресурсов с любыми объектами.

В составе MicrosoftVisualStudio 2008 имеется следующий набор редакторов ресурсов:

  • Редактор меню;

  • Редактор диалоговых окон;

  • Редактор панелей инструментов;

  • и другие редакторы.

Каждый из указанных редакторов изучается в процессе применения того или иного объекта ресурсов в Windows –приложении.

Меню является важным элементом Windows – приложения. Практически в каждом приложении отображается полоса меню (menubar), содержащая набор пунктов. Пункт меню обозначается своим именем – словом или фразой.

Меню, располагающееся под заголовком приложения, называется главным меню (mainmenu), или меню верхнего уровня.

Различают два типа пункта меню:

  • пункт – подменю;

  • пункт – команда.

Пункт – подменю – это имя вызываемого меню следующего более низкого уровня иерархии. Если пользователь в меню щелчком левой кнопки мыши выбрал пункт подменю, то Windows выводит на экран прямоугольник этого подменю, называемого всплывающим меню (popupmenu). Пункты подменю размещаются в виде вертикального столбца, при навигации по подменю выделяются цветовой инверсией. Пункты подменю могут быть объединены в логические группы.

Пункт – команда - это конечный пункт на иерархическом дереве меню. Выбор его должен изменить внутреннее состояние приложения, либо привести к некоторому действию. Реакция Windows на выбор этого пункта меню – отправка приложению сообщения WM_COMMAND, содержащего идентификатор этой команды.

Пункт – подменю – это заголовок вызываемого меню следующего, более низкого уровня. Пункты меню могут быть разрешенными (enabled), запрещенными (disabled), недоступными (grayed).

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

Запрещенные (disabled)и недоступные (grayed)пункты с точки зрения их поведения одинаковы. Их можно выделить, но нельзя выбрать (ничего не происходит при их выделении). Отличаются запрещенный пункт и недоступный только внешним видом – недоступный отображается серым цветом, что очень наглядно. Если необходимо, чтобы пользователь знал, что пункт «отменен», его следует назначить недоступным.

Меню создается на основе шаблона меню, определенного в файле описания ресурсов .rc

Определение меню в файле ресурсов имеет следующий вид:

имя_менюMENUDISCARDABLE

BEGIN

Описание 0-го пункта

Описание 1-го пункта

……………….

Описание (n-1)-го пункта

END

Синтаксис описания i-того пункта меню зависит от типа пункта.

Описание шаблона пункта – подменю имеет следующий вид:

POPUPимя_пункта[, параметры]

BEGIN

Описание 0-го пункта

Описание 1-го пункта

……………….

Описание (n-1)-го пункта

END

Описание пункта – команды имеет следующий вид:

MENUITEMимя_пункта идентификатор [, параметры]

Если вместо имени пункта меню использовано слово SEPARATOR, это приведет к тому, что вместо меню будет отображена горизонтальная разделительная линия

Шаблон меню создается автоматически при использовании редактора меню.

Таблица 1. Некоторые часто используемые типы Win32

Тип данных

Описание

BOOL

Булевский тип (эквивалент bool )

BYTE

Байт (8-битное целое без знака)

DWORD

32-битное целое без знака

HANDL

Дескриптор объекта

HGDIOBJ

Дескриптор графического объекта

HBITMAP

Дескриптор растрового изображения

HBRUSH

Дескриптор кисти

HCURSOR

Дескриптор курсора

HDC

Дескриптор контекста устройства

HFONT

Дескриптор шрифта

HICON

Дескриптор иконки (пиктограммы)

HINSTANCE

Дескриптор экземпляра приложения

HMENU

Дескриптор меню

HPEN

Дескриптор пера

HWND

Дескриптор окна

INT

32-битное целое со знаком

LONG

32-битное целое со знаком

LPARAM

Тип, используемый для описания lParam, четвертого параметра оконной процедуры

LPCSTR

Указатель на константную С-строку

LPCWSTR

Указатель на константнуюUnicode-строку (строка также заканчивается символом, имеющим код 0), но на для хранения одного символа используется два байта. Чтобы использовать в проекте кодировку UNICODE , надо предусмотреть в проекте директиву #defineUNICODE

LPCTSTR

LPCWSTR, если определен макрос UNICODE, и LPCSTRв противном случае

LPSTR

Указатель С-строку

LPWSTR

Указатель на Unicode-строку

LPTSTR

LPWSTR, если определен макрос UNICODE, и LPSTRв противном случае

LRESULT

Значение типа LONG, возвращаемое оконной процедурой

NULL

((void*) 0)

TCHAR

wchar_t (Unicode-символ), если определен макрос UNICODE, и charв противном случае

UINT

32-битное целое без знака

WPARAM

Тип, используемый для описания wParam, третьеого параметра оконной процедуры