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

  1. Текст разрабатываемого приложения должен содержать отступы, увеличивающиеся при каждом уровне вложенности блоков (текст должен быть читабелен).
  2. Глобальные объекты должны быть обязательно прокомментированы.
  3. Необходимо комментировать разработанные вами функции, указывая в комментариях их назначение, что получает и возвращает функция, и как.
  4. Должны быть обязательно прокомментированы только неочевидные фрагменты разработанных вами функций.
  5. Модуль, содержащий функцию main должен иметь комментарий, содержащий текст индивидуального задания. Текст комментария должен быть аккуратно оформлен.

Таблица вариантов для индивидуальных заданий.

 

Номер варианта Работа 2 Работа 3 Работа 4 Работа 5
2.03 3.27 4.10 5.18
2.04 3.28 4.11 5.19
2.05 3.29 4.12 5.20
2.06 3.30 4.13 5.21
2.15 3.31 4.14 5.22
2.23 3.32 4.15 5.07
2.24 3.33 4.16 5.08
2.30 3.08 4.03 5.04
2.31 3.09 4.04 5.05
2.32 3.10 4.05 5.06
2.33 3.11 4.06 5.23
2.16 3.12 4.07 5.24
2.17 3.13 4.17 5.09
2.18 3.14 4.18 5.10
2.19 3.15 4.19 5.11
2.01 3.01 4.08 5.30
2.02 3.02 4.09 5.31
2.25 3.03 4.31 5.32
2.26 3.04 4.32 5.33
2.27 3.05 4.33 5.01
2.28 3.06 4.01 5.02
2.29 3.07 4.02 5.03
2.20 3.16 4.20 5.12
2.21 3.17 4.21 5.13
2.22 3.18 4.22 5.14
2.07 3.19 4.23 5.15
2.08 3.20 4.24 5.16
2.09 3.21 4.25 5.17
2.10 3.22 4.26 5.25
2.11 3.23 4.27 5.26
2.13 3.25 4.29 5.28
2.12 3.24 4.28 5.27
2.14 3.26 4.30 5.29
2.15 3.27 4.16 5.23
2.01 3.28 4.17 5.24
2.02 3.29 4.14 5.25
2.03 3.30 4.13 5.26
2.04 3.31 4.12 5.27
2.05 3.32 4.11 5.28
2.06 3.33 4.10 5.29

 

Номер варианта Работа 2 Работа 3 Работа 4 Работа 5
2.10 3.03 4.30 5.22  
2.11 3.04 4.31 5.21  
2.12 3.05 4.32 5.20  
2.13 3.06 4.33 5.19  
2.16 3.22 4.15 5.5  
2.14 3.07 4.01 5.18  
2.09 3.08 4.02 5.08  
2.19 3.09 4.03 5.07  
2.20 3.10 4.04 5.30  
2.21 3.01 4.05 5.31  
2.22 3.02 4.06 5.32  
2.23 3.24 4.07 5.33  
2.07 3.25 4.08 5.16  
2.17 3.26 4.09 5.17  
2.25 3.11 4.29 5.09  
2.26 3.12 4.18 5.10  
2.27 3.13 4.19 5.11  
2.28 3.14 4.20 5.12  
2.29 3.15 4.21 5.13  
2.18 3.33 4.28 5.6  
2.30 3.16 4.22 5.14  
2.31 3.17 4.23 5.15  
2.32 3.18 4.24 5.01  
2.33 3.19 4.25 5.02  
2.08 3.20 4.26 5.03  
2.24 3.21 4.27 5.04  
2.30 3.03 4.20 5.33  
2.16 3.06 4.23 5.31  
2.15 3.23 4.03 5.01  
2.32 3.04 4.21 5.30  
2.31 3.24 4.04 5.02  
2.17 3.25 4.05 5.03  
2.18 3.26 4.06 5.04  
2.19 3.27 4.07 5.05  
2.20 3.28 4.08 5.06  
2.21 3.29 4.09 5.07  
2.22 3.30 4.10 5.08  
2.23 3.31 4.01 5.09  
2.24 3.32 4.02 5.10  
2.25 3.33 4.24 5.11  

 

 

Номер варианта Работа 2 Работа 3 Работа 4 Работа 5
2.26 3.16 4.25 5.12  
2.27 3.17 4.26 5.13  
2.01 3.18 4.27 5.14  
2.02 3.19 4.28 5.15  
2.03 3.20 4.29 5.16  
2.33 3.05 4.22 5.32  
2.04 3.21 4.30 5.17  
2.05 3.22 4.31 5.18  
2.06 3.07 4.32 5.19  
2.07 3.08 4.33 5.20  
2.08 3.09 4.11 5.21  
2.09 3.10 4.12 5.22  
2.10 3.11 4.13 5.23  
2.11 3.12 4.14 5.24  
2.12 3.13 4.15 5.25  
2.13 3.14 4.16 5.26  
2.14 3.15 4.17 5.27  
2.28 3.01 4.18 5.28  
2.29 3.02 4.19 5.29  
2.27 3.09 4.31 5.01  
2.26 3.10 4.06 5.16  
2.25 3.05 4.30 5.02  
2.19 3.06 4.27 5.14  
2.29 3.29 4.32 5.05  
2.30 3.30 4.33 5.06  
2.31 3.31 4.16 5.07  
2.32 3.32 4.17 5.17  
2.33 3.15 4.18 5.18  
2.01 3.16 4.19 5.19  
2.02 3.17 4.20 5.20  
2.28 3.07 4.28 5.03  
2.03 3.18 4.21 5.21  
2.04 3.19 4.22 5.22  
2.05 3.20 4.07 5.23  
2.06 3.21 4.08 5.24  
2.07 3.22 4.09 5.25  
2.08 3.23 4.10 5.26  
2.09 3.33 4.11 5.27  
2.10 3.11 4.12 5.28  
2.11 3.12 4.13 5.29  
Номер варианта Работа 2 Работа 3 Работа 4 Работа 5  
2.12 3.13 4.14 5.30  
2.13 3.14 4.15 5.31  
2.14 3.28 4.01 5.32  
2.15 3.24 4.02 5.33  
2.16 3.25 4.03 5.08  
2.17 3.26 4.04 5.09  
2.18 3.27 4.05 5.15  
2.24 3.08 4.29 5.04  
2.20 3.01 4.23 5.10  
2.21 3.02 4.24 5.11  
2.22 3.03 4.25 5.12  
2.23 3.04 4.26 5.13  
2.28 3.09 4.31 5.04  
2.19 3.10 4.08 5.16  
2.04 3.19 4.11 5.17  
2.08 3.20 4.15 5.18  
2.09 3.23 4.13 5.24  
2.17 3.22 4.20 5.28  
2.18 3.21 4.09 5.25  
2.33 3.30 4.17 5.32  
2.32 3.32 4.12 5.31  
2.05 3.29 4.10 5.26  
2.06 3.33 4.14 5.33  
2.22 3.32 4.16 5.29  
2.07 3.01 4.18 5.30  
2.10 3.02 4.19 5.11  
2.11 3.03 4.24 5.12  
2.12 3.04 4.26 5.13  
2.24 3.05 4.27 5.14  
2.25 3.06 4.28 5.05  
2.26 3.07 4.29 5.02  
2.27 3.08 4.30 5.03  
2.30 3.11 4.33 5.06  
2.29 3.12 4.32 5.01  
2.01 3.16 4.25 5.19  
2.23 3.17 4.04 5.20  
2.31 3.18 4.02 5.15  
2.02 3.25 4.01 5.07  
2.13 3.28 4.07 5.08  
2.14 3.26 4.05 5.09  
2.15 3.27 4.03 5.10  
2.16 3.24 4.06 5.21  

ЛАБОРАТОРНАЯ РАБОТА №1

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

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

 

Теоретический материал

Ресурсы Windows – приложения

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

 

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

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

имя_меню MENU DISCARDABLE

BEGIN

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

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

……………….

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

END

 

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

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

 

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

BEGIN

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

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

……………….

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

END

 

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

 

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

 

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

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

 

 

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

 

Тип данных Описание
BOOL Булевский тип (эквивалент bool )
BYTE Байт (8-битное целое без знака)
DWORD 32-битное целое без знака
HGDIOBJ Дескриптор объекта
HBITMAP Дескриптор растрового изображения
HBRUSH Дескриптор кисти
HCURSOR Дескриптор курсора
HDC Дескриптор контекста устройства
HFONT Дескриптор шрифта
HICON Дескриптор иконки (пиктограммы)
HINSTANCE Дескриптор экземпляра приложения
HMENU Дескриптор меню
HPEN Дескриптор пера
HWND Дескриптор окна
INT 32-битное целое со знаком
LONG 32-битное целое со знаком
LPARAM Тип, используемый для описания lParam, четвертого параметра оконной процедуры
LPCSTR Указатель на константную С-строку
LPCWSTR Указатель на константную Unicode-строку (строка также заканчивается символом, имеющим код 0), но на для хранения одного символа используется два байта. Чтобы использовать в проекте кодировку UNICODE , надо предусмотреть в проекте директиву #define UNICODE
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, третьеого параметра оконной процедуры

 

Вызов редактора меню

Если вы создавали не пустой проект Win32 Project, то в нем уже создано минимальное меню по умолчанию. Его модификацию делаю в Редакторе ресурсов. Попасть в Редактор ресурсов можно, открыв в меню Вид подменю Ресурсы, или в Обозревателе решений открыть файл с расширением .rc , дважды щелкнув по его имени.

Файл с расширением .rc, который является текстовым файлом, можно открыть и в текстовом редакторе, для этого нужно вызвать всплывающее меню нажатием правой кнопки мыши, открыв его в подменю Открыть с помощью…


Если дважды щелкнуть по пункту меню, то будет отображено диалоговое окно Свойства (Properties).

 

Назначение наиболее употребительных атрибутов окна Свойств показано в табл.

 

Атрибут Описание
Включен Показывает, что пункт меню может быть выбран  
Всплывающее меню (Pop-up) Пункт определяет подменю, если флажок отмечен true. В противном случае пункт является обычной командой  
Надпись (Caption) Имя пункта (если в имени встречается символ “&”, то следующий за ним символ является мнемоническим)
Неактивный (Grayed) Пункт меню неактивен (недоступен в исходном состоянии), его текст выводится серым цветом (несовместим с атрибутом Inactive)  
Установлен (Checked) При выводе на экран пункт помечается слева галочкой
   
Разрыв (Break) Этот атрибут может принимать одно из трех значений: · None (нет) – обычный пункт меню; · Column - для меню верхнего уровня пункт выводится с новой строки, а для подменю – в новом столбце; Bar - дополнительный столбец подменю отделяется вертикальной линией
   
ID Идентификатор пункта – доступен для команд
   
Разделитель (Separator) Пункт представляет собой горизонтальную разделительную линию