Разработка меню в системе Windows. Среда разработки – Borland C++ 5. Файлы нового проекта. Листинг файла proj0000.cpp

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

10 страниц (Word-файл)

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

Министерство образования и науки Российской Федерации

Государственное образовательное учреждение  высшего профессионального образования

«Комсомольский-на-Амуре Государственный Технический Университет»

Факультет компьютерных технологий

Кафедра «Математическое обеспечение и применение ЭВМ»

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

по курсу «Человеко-машинное взаимодействие»

Выполнил                                                                                                 

Проверил                                                                                                  

Вариант                                                                                                      1

г.Комсомольск-на-Амуре, 2010 г.

Тема:             «Меню в системе Windows».

Цель:             Изучить принципы создания меню с помощью интерфейса Windows и научиться созданию такового в собственной программе.

Задание:        Разработать меню в системе Windows. Среда разработки – Borland C++ 5


Ход работы

Создаем проект в среде BorlandC 5.02 (рис. 1 и рис. 2)

Рис 1. Создаем проект. Шаг 1

Рис 2. Создаем проект. Шаг 2

Рис 3. Файлы нового проекта

В файле proj0000.rc будет текст меню для формы. В файле proj0000.cpp опишем саму форму и команды, которые будут выполняться по нажатию меню. А файл proj0000.def удаляем с проекта.


Листинг файла proj0000.cpp

#include <windows.h>

LRESULT CALLBACK WindowFunc(HWND,UINT,WPARAM,LPARAM);

char szwinname[] = "MyWindow";

HINSTANCE hInst;

int WINAPI WinMain(HINSTANCE hthisinst, HINSTANCE hprevinst, LPSTR lpszargs, int nwinmode)

{

HWND hwnd;

MSG msg;

WNDCLASS wcl;

HACCEL haccel;

wcl.hInstance = hthisinst;

wcl.lpszClassName = szwinname;

wcl.lpfnWndProc= WindowFunc;

wcl.style = 0;

wcl.hIcon = LoadIcon (NULL, IDI_QUESTION);

wcl.hCursor = LoadCursor(NULL,IDC_ARROW);

wcl.lpszMenuName = "MYMENU";

wcl.cbClsExtra = 0;

wcl.cbWndExtra = 0;

wcl.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);

hInst = hthisinst;

if(!RegisterClass(&wcl))

return 0;

hwnd = CreateWindow(szwinname, "Меню под Windows",

WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 700, 200,

HWND_DESKTOP,    NULL,hthisinst, NULL);

ShowWindow(hwnd,nwinmode);

UpdateWindow(hwnd);

while(GetMessage(&msg,NULL,0,0))

{

if(!TranslateAccelerator(hwnd,haccel,&msg))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

}

return msg.wParam;

}

LRESULT CALLBACK WindowFunc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

HDC hdc;

hdc=GetDC(hwnd);

LPSTR str;

LPSTR str2;

str2="                                                                ";

switch(message)

{

case WM_COMMAND:

switch(LOWORD(wParam))

{

case 101: MessageBox(hwnd, "Создание исчезающего меню", "1 лабараторная работа", MB_OK); break;

case 102: MessageBox(hwnd, "Иерархическое  меню", "2 лабараторная работа", MB_OK); break;

case 103: MessageBox(hwnd, "Меню в системе Windows", "3 лабараторная работа", MB_OK); break;

case 104: MessageBox(hwnd, "Модальные и немодальные диалоги", "4 лабараторная работа", MB_OK); break;

case 105: MessageBox(hwnd, "Стандартные компоненты ввода и отображения текстовой информации", "РГЗ", MB_OK); break;

case 106: MessageBox(hwnd, "Готов?", "Экзамен", MB_YESNO); break;

case 201: MessageBox(hwnd, "Дисассемблеры и отладчики", "1 лабараторная работа", MB_OK); break;

case 2021:

TextOut(hdc,1,1,str2,strlen(str2));

str="Изучить структуру и порядок программирования CMOS памяти персо-нальной ПЭВМ и написать модуль, читающий и расшифровывающий все данные CMOS памяти ПЭВМ";

TextOut(hdc,1,1,str,strlen(str));

break;

case 2022:

TextOut(hdc,1,1,str2,strlen(str2));

str="Изучить структуру ОЗУ ПЭВМ (в ОС реального режима), разобрать понятия CMA, UMA, HMA, EMA, XMA, EMS, XMS, UMB. Исследовать оперативную память компьютера в ОС реального режима с помощью системных утилит MEM, MSD, программ CHECKIT, SI и составить срав-нительную таблицу показаний этих программ по всем видам памяти ПЭВМ";

TextOut(hdc,1,1,str,strlen(str));

break;

case 2023:

TextOut(hdc,1,1,str2,strlen(str2));

str="Изучить  технологию выделения блоков памяти  ОС реального режима при загрузке и выполнении программ и исследовать (с помощью отлад-чика или написанного собственноручно модуля) цепочку MCB в памяти ПЭВМ";

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

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