Windows程序设计实验指导书(完整)
- 格式:doc
- 大小:270.00 KB
- 文档页数:25
《Windows程序设计》实验指导书
2009-3-1
目录
实验一:VC++6.0开发环境熟悉 (1)
实验二:API对话框应用程序设计 (3)
实验三:API菜单使用 (6)
实验四、API绘图程序 (12)
实验五、MFC程序设计 (17)
实验六:MFC对话框程序设计:计算器 (19)
实验七:MFC文档(SDI)应用:绘图程序 (21)
综合性设计实验 (22)
实验一:VC++6.0开发环境熟悉
一、实验目的
熟悉Visual C++ 6.0开发环境,掌握VC6中建立、维护、运行工程项目的方法,掌握VC6中调试的方法。
二、实验内容
熟悉Visual C++ 6.0开发环境,如AppWizard、ClassWizard、工具栏、编译、运行普通的C++应用程序等,并能编写一个简单C++应用程序。熟悉调试过程。
三、实验要求
1、按下图建立一个C++程序,实现菜单选择,可以实现两个整数的加减。
要求:
[1]、建立工程;
[2]、程序调试通过;
[3]、菜单和功能用一个类来实现。
2、制作一个简单的公司职员的管理程序,这个程序要求涉及到类、结构、函数的基本使用。同时,这个程序涉及到了对Visual Stuido集成开发环境的使用,有关这方面的详细内容,请参阅本书的第二单元“Visual C++编程基础”。
[1]、新建项目。
使用Visual C++的应用程序向导生成一个控制台应用程序Demo。项目类型选择“Win32Console Application”,在向导的第一步中将程序类型设置成“A"Hello, World!" application”。
[2]、添加职员信息类。
在集成开发环境的中选择Insert|New Class菜单进入添加类的对话框,将新增的类名设置成workmate。之后,分别修改workmate类的定义及实现文件。
[3]、使用职员信息类。
四、思考题
1、如何实现两个复数的加减?
附:一些小窍门
1) 有时候,你可能在编译的时候,计算机突然非法关机了(可能某人不小心碰了电源或你的内存不稳定等原因)。当你重启机器后打开刚才的项目,重新进行编译,发现VC会崩掉。你或许以为你的VC编译器坏了,其实不然(你试试编译其它项目,还是好的!),你只要将项目的.ncb、.opt、.aps、.clw文件以及Debug、Release目录下的所有文件都删掉,然后重新编译就行了。
2) 如果你想与别人共享你的源代码项目,但是把整个项目做拷贝又太大。你完全可以删掉以下文件:.dsw、.ncb、.opt、.aps、.clw、. plg文件以及Debug、Release目录下的所有文件。
3) 当你的Workspace中包含多个Project的时候,你可能不能直观地、一眼看出来哪个是当前项目。可以如下设置:Tools->Options->Format,然后在Category中选择Workspace window,改变其默认的字体(比如设成Fixedsys)就行了。
4) 如何给已有的Project改名字?将该Project关掉。然后以文本格式打开.dsp文件,替换原来的Project名字即可。
5) VC6对类成员的智能提示功能很有用,但有时候会失灵。你可以先关掉项目,将.clw和.ncb删掉,然后重新打开项目,点击菜单项View->ClassWizard,在弹出的对话框中按一下“Add All”按钮;重新Rebuild All。应该可以解决问题。
实验二:API对话框应用程序设计
一、实验目的
掌握VC6中建立API程序的方法。
二、实验内容
练习手工生成API Windows应用程序框架,以及利用VC的应用程序生成模版AppWizard来生成API程序框架。
三、实验要求
按下图建立一个API程序。
要求:
[1]、手工生成应用程序;
[2]、使用AppWizard自动生成。
四、实验步骤
(一)使用AppWizard自动生成:
1.在“File”菜单中选择“New”,将新建的类型设置成“Projects”。同时将项目类型设置成“Win32Application”。
2.在应用程序向导的第二步中选择“A typical "Hello World!" application。”
3.使用F5快捷键编译程序。
经过以上三个最简单的步骤,一个“Hello,World”程序便制作完毕。此时可以查看在该项目所在的文件夹下,生成了哪些文件,并应了解这些文件的具体用法(二)手工生成应用程序:
1.在“File”菜单中选择“New”,将新建的类型设置成“Projects”。同时将项目类型设置成“Win32Application”。
2.在应用程序向导的第二步中选择“Empty application。”
3.在“New”选择“C++Source”,按照课本上实例3-1的内容输入程序,。
4.使用F5快捷键编译程序
经过以上三个最简单的步骤,一个“Hello,World”程序便制作完毕。此时可以查看在该项目所在的文件夹下,生成了哪些文件,并应了解这些文件的具体用法
参考代码:
#include
#include
LRESULT CALLBACK WinSunProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow // show state
)
{ WNDCLASS wndcls;
wndcls.cbClsExtra=0;
wndcls.cbWndExtra=0;
wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
wndcls.hInstance=hInstance;
wndcls.lpfnWndProc=WinSunProc;
wndcls.lpszClassName="Computer2009";
wndcls.lpszMenuName=NULL;
wndcls.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls);
HWND hwnd;
hwnd=CreateWindow("Computer2009","桂林电子科技大学应用科技学院",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK WinSunProc(