实验一 Windows应用程序设计(实验讲义)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一Windows简单程序设计
1、[实验目的]
了解在VC中Windows SDK应用程序的开发,熟悉Win32 Application和Win32 Console Application的程序结构
2、[实验内容]
①编写程序,要求程序能实现对字符串的处理;
②编写一个Win32 Application类型的Windows窗口程序。
3、[实验仪器设备]
操作系统:Windows2000/XP
编程软件:VC++
4、实验步骤
(1)Win32 Console程序开发
①运行Microsoft Visual C++
②创建工程:
选择菜单“File”->“New”,在打开的对话框中,切换到“Projects”标签下,并选择“Win32 Console Application”作为工程类型,分别在Project name和Location文本框中输入工程的名字和位置(可自行定义),单击“OK”完成工程的创建。
③编写代码实现:输入一串,比较字符串是否为“exit”,是则退出程序,否则输出串长度。循环输入第二个串,重复上述处理。(请给出程序代码)
④形成目标程序
单击菜单栏的“组建(B)”菜单下的“编译”命令,进行编译。在“输出”窗口的“组建”标签页下查看是否存在编译错误,若有,则进行调试。
⑤运行程序
单击菜单栏的“组建(B)”菜单下的“执行”命令,生成.exe文件。必要时,可在过程中设置断点,以便核查相应指令的运行结果。
(2)Win32 Application窗口应用程序开发
①程序结构:
●注册窗口类
●创建窗口
●显示和更新窗口
●创建消息循环
●处理消息
②创建工程:
同上,注意这里要选择“Win32 Application”作为工程类型
③编写源程序:
程序可参考书上P9~P11,书上源程序存在部分错误,修正如下:
●添加两个头文件:
#include
#include
●在WinMain函数的实现程序前添加一段代码用于声明过程函数:
long FAR PASCAL MainWndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam);
●
●在WinMain函数的实现程序中的变量定义部分增加一个变量申明:
HWND ghWndMain;
●
●书上第14行wc.hbrBackground=GetStockObject(WHITE_BRUSH)修改为
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH)
●在注释“显示窗口”下面增加一行,添加一句更新窗口的代码:
UpdateWindow(ghWndMain);
●在MainWndProc函数的实现程序中将窗口显示消息处理部分的代码(这
部分有3行代码)修改如下:
case WM_PAINT: //窗口显示消息处理
HDC hDC;
PAINTSTRUCT ps;
hDC=BeginPaint(hWnd,&ps);
TextOut(hDC,0,0,"这是我的第一个windows程序",strlen("这是我的第一个windows程序"));
EndPaint(hWnd,&ps);
break;
④形成目标程序
⑤运行程序
5、[结果记录与分析]
①第一个程序在屏幕上输出的结果是?
②第二个程序运行的正确结果是一个标准的windows窗口,请问该窗口的标题是什么?窗口区的背景是什么颜色?并写出窗口显示的文字内容。
6、[思考]
①Windows SDK应用程序有哪两种工程类型?它们分别以什么函数作为自己的入口点的?开发Windows的窗口程序应该选择哪种工程类型呢?
②在Windows程序中,WinMain函数主要完成哪些操作,对消息的处理由哪个函数完成?