专业课程实验报告
课程名称:windows程序设计
开课学期: 2015至2016 学年第1学期专业:计算机科学与技术年级班级:2013级
学生姓名:刘敏学号:222013*********
实验教师:刘红俊
计算机与信息科学学院软件学院
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 "Win32Project2.ico"
IDI_SMALL ICON "small.ico"
(三)程序代码:
Win32Project2.cpp
// Win32Project2.cpp : 定义应用程序的入口点。
//
#include"stdafx.h"
#include"Win32Project2.h"
#define MAX_LOADSTRING 100
// 全局变量:
HINSTANCE hInst; // 当前实例
TCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本
TCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名
BOOL CALLBACK DlgProc(HWND,UINT,WPARAM,LPARAM); //定义对话框处理函数
HWND hDlg; //对话框句柄
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPTSTR lpCmdLine,
_In_ int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
MSG msg;
HACCEL hAccelTable;
LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadString(hInstance, IDC_WIN32PROJECT2, szWindowClass, MAX_LOADSTRING);
MyRegisterClass(hInstance);
if (!InitInstance (hInstance, nCmdShow))
{
return FALSE;
}
hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_WIN32PROJECT2));
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
三、测试数据和执行结果(在给定数据下,执行操作、算法和程序的结果,可使用数据、图表、截图等给出)
图1
图2
四、实验结果分析及总结(对实验的结果是否达到预期进行分析,总结实验的收获和存在的问题等)
(一)实验结果:
实验结果达到预期要求。
(二)实验收货:
1.通过此次试验,我掌握了资源在windows编程中的应用。
2.学习了菜单资源及其应用;
3.模式对话框与非模式对话框资源及其应用;
4.图标资源及其应用。
(三)存在的问题:
在此实验中,单击菜单中的显示会弹出非模式对话框,但是我只能通过单击隐藏来关闭对话框,单击对话框中的叉并不能关闭对话框。
实验内容和设计(A-E):。