专业课程实验报告
课程名称: windows程序设计
开课学期:2015至2016学年第1 学期
专业:计算机科学与技术 年级班级: 2013级
学生姓名:刘敏学号:222013321210093
实验教师: 刘红俊
计算机与信息科学学院 软件学院
实验项目名称 实验课(第5次)windows程序设计 实验时间 12.2 实验类型 □验证性 □设计性 □综合性 一、实验目的 1. 掌握菜单和对话框资源的创建和使用. 2. 掌握图标的创建; 3. 学习了解资源在windows编程中的应用; 二、实验要求 1. 掌握菜单和对话框资源的创建和使用. 2. 编写程序: 设计一个窗口应用程序, 其中有一个VC菜单, 该菜单下有”显示”, “隐藏”, “退出”选项; 3. 当选择”显示”选项时, 窗口中显示一个对话框, 在对话框中显示”我们一起来学习VC++”; 4. 当选择”隐藏”按钮时,对话框消失; 5. 选择”退出”时, 退出应用程序; 6. 并为该程序加载图标. 三、实验内容与设计(主要内容,操作步骤、算法描述或程序代码) (一)主要内容: 1. 掌握菜单和对话框资源的创建和使用. 2. 编写程序: 设计一个窗口应用程序, 其中有一个VC菜单, 该菜单下有”显示”, “隐藏”, “退出”选项; 3. 当选择”显示”选项时, 窗口中显示一个对话框, 在对话框中显示”我们一起来学习VC++”; 4. 当选择”隐藏”按钮时,对话框消失; 5. 选择”退出”时, 退出应用程序; 6. 并为该程序加载图标. (二)操作步骤与算法描述: 1. 菜单的创建过程: 1) 定义菜单: 菜单资源名 MENU [,载入特定选项] {菜单项列表} 2) 加载菜单资源: ① 在窗口类中加载菜单; ② 在创建窗口时加载菜单; ③ 动态加载菜单。 本程序采用的是在窗口类中加载菜单。 wcex.lpszMenuName = MAKEINTRESOURCE(IDC_WIN32PROJECT2);
2. 对话框资源及其应用: 1) 模式对话框:
① 定义对话框资源:
资源文件中如此定义对话框资源:
对话框名 DIALOGEX x,y,weight,hight
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION \FONT 9, \BEGIN
对话框的控件定义
END
② 调用函数DiaLogBox显示对话框; ③ 构造对话框消息处理函数; ④ 关闭对话框。 2) 非模式对话框:
① 定义非模式对话框:
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU|WS_VISIBLE
② 创建对话框函数:
HWND CreateDialog{hInst, MAKEINTRESOURCE(IDD_SHOWBOX),hWnd,(DLGPROC)DlgProc}
③ 消息循环:
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { } }
TranslateMessage(&msg); DispatchMessage(&msg);
④ 关闭对话框:
DestroyWindow(hDlg);
3) 程序加载图标:
IDI_WIN32PROJECT2 ICON \ IDI_SMALL ICON \