面向对象编程_2016.4.22

面向对象编程_2016.4.22

ID:40907845

大小:308.50 KB

页数:14页

时间:2019-08-10

面向对象编程_2016.4.22_第1页
面向对象编程_2016.4.22_第2页
面向对象编程_2016.4.22_第3页
面向对象编程_2016.4.22_第4页
面向对象编程_2016.4.22_第5页
资源描述:

《面向对象编程_2016.4.22》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、山东大学(威海)机电与信息工程学院2014级面向对象编程技术实验三实验报告班级:电子2班学号:201400800164姓名:赵保丰时间:2016-4-22山东大学(威海)机电与信息工程学院2014级目录1实验要求12实验过程及结果12.1创建工程12.2程序流程和数据模型分析12.3问题及解决方案13实验总结1附录关键代码112面向对象编程技术实验报告1实验要求1.调试示例程序Childwin,查找程序中的UnderstandCallStack函数,跟踪调试,以此理解调用栈2.改进ChildWin示例程序,在子窗口内显示出窗口特定信息(窗口ID号);尝试在每个子窗口中绘制特定

2、颜色的矩形¨在子窗口的窗口过程函数的刷新处理消息中增添处理代码;¨用GetWindowLong函数取出子窗口ID;¨根据子窗口ID设定子窗口内需要显示的信息(使用wsprintf函数组织待显示的字符串)¨尝试在子窗口中绘制特定颜色的矩形(练习使用Rectangle函数)3.跟踪消息传递过程¨在Childwin的主窗口过程函数的WM_CREATE、WM_PAINT、WM_COMMAND、WM_LBUTTONDOWN处设置断点¨在子窗口的WM_CREATE、WM_PAINT、WM_CHILDWIN、WM_LBUTTONDOWN处设置断点¨运行程序,查看各断点的响应过程,以此理解消

3、息传递的次序4.设计、实现一个软键盘用子窗口实现一个软键盘(在窗口的客户区用子窗口绘制一个仿真的键盘),鼠标点击每个子窗口,可输入不同的字符。将输入的字符显示到屏幕上。5.在自己的工作目录中建立新工程用于控件测试〔可以将Easywin工程的easywin.c拷贝到新工程的目录中,修改文件名为ctltest.cpp(后缀名改为.cpp),编译、链接并使程序正常工作(包括修正编译错误)〕。6.*用Button完成4*所要求的软键盘实现。比较与原有实现的不同之处。7.创建各种类型的控件子窗口,包括static、edit、listbox、combobox、button、scrollb

4、ar等;在主窗口的窗口过程函数中增加相应的消息处理实现主窗口与子窗口的通信(可尝试设置控件的标题/内容,获取控件的标题/内容以及在控件有点击等操作时在主窗口给出提示)。8.同步骤5,新建用于资源测试的工程。9.增加新的资源:光标、图标,并正确显示¨用资源编辑器编辑一个光标(彩色),注意删除资源中不需要的image类型,否则显示光标可能不正确。¨为光标设定热点(hotspot)¨用资源编辑器编辑一个图标¨修改注册窗口类的代码,使程序能正常使用自定义的光标和图标¨参照课本(或MSDN)中的DrawIcon函数,在WM_PAINT消息中增加处理,在窗口客户区中显示自定义的光标及图标

5、。¨创建一个另外光标供后续实验步骤使用12面向对象编程技术实验报告1.增加菜单¨菜单中建立一个菜单项命令以修改窗口使用的光标,可命名为“ChangeCursor”,对应的ID假设为ID_CHANGECURSOR¨修改注册窗口类的代码,使程序运行时能正确载入菜单¨换一种方式,通过修改创建窗口的代码,使菜单能正确载入2.增加菜单消息响应代码¨增加WM_COMMAND的消息处理¨参照第五章菜单示例代码中的处理方式,响应菜单命令¨对ID_CHANGECURSOR命令的响应为:改变窗口使用的光标,可以使用SetClassLong(hwnd,GCL_HCURSOR,(LONG)LoadC

6、ursor((HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),MAKEINTRESOURCE(IDC_CURSOR2)));3.处理鼠标右键,增加快捷菜单处理¨右键发出的菜单命令同样是通过WM_COMMAND消息响应的,增加快捷菜单之后,程序应该能通过主菜单或快捷菜单两种方式发出同样的命令4.增加菜单快捷键的定义¨修改资源,增加快捷键,使快捷键对应到某一菜单命令¨修改消息循环,使程序能够处理快捷菜单¨测试快捷键的按键响应情况1实验过程及结果1.1创建工程点击文件,选择新建项目,选择win32项目,改名称和解决方案名字。并进行设置成空项目

7、,将示例程序childwin.c改为childwin.cpp,拷贝到所建工程目录,添加为源文件。1.2问题及解决方案(1):调试程序,将wcMain.hbrBackground=GetStockObject(WHITE_BRUSH);wcChild.hbrBackground=GetStockObject(LTGRAY_BRUSH);这两句代码的等号后面加(HBRUSH)强制涂刷。在项目——属性——字符集将Unicode字符集改为多字节字符集,编译,成功出现子窗口程序。(2):以子窗口程序为基础,写出软

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。