ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:282.53KB ,
资源ID:182787      下载积分:5 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-182787.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(windows程序设计习题.docx)为本站会员(h****)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

windows程序设计习题.docx

1、1: C语言的入口函数是哪个?分别写出各个参数的作用。 int main(int argc, char* argv) argc是命令行总的参数个数; argv是 argc 个参数,其中第 0 个参数是程序的全名,以后的参数是命令行后面跟的用户输入的参数。 2: MFC 使用向导生成对话框应用程序,会自动生成三个类,如: CAboutDlg、CDemoApp、 CDemoDlg,请分别说明三个类的作用?以及三个类之间的关系。 创建典型的对话框程序(示例)后,会出现如下几个类: CAboutDlg:关于版本对话框控制类; CDemoApp:应用程序管理类; CDemoDlg:对话框管理类。 其中,

2、后两个类是根据项目名称而定的,规则是: C+项目名称 +App(或 Dlg) 3: PostMessage 与 SendMessage 的区别。 SendMessage 函数功能是,将指 定的消息发送到一个或多个窗口。此函数为指定的窗口调用过程处理程序,直到过程处理函数处理完消息再返回。 PostMessage 函数功能是,将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回。 4: Windows 系统提供了一个定时响应的消息 WM_TIMER,该消息的名称是什么? SetTimer()函数与 KillTimer()函数的作用是? WM_TIMER 定时器消

3、息 ;SetTimer() 设置定时器 ;KillTimer() 销毁定时器 5: 什么是指针?什么是句柄?描 述句柄与指针的区别 ? 指针:内存单元的编号也叫做地址。既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。 句柄,是整个 windows 编程的基础,一个句柄是指使用的一个唯一的整数值,是指一个四字节长的数值,用于标志应用程序中不同的对象实例 。 区别: 句柄不是一个指针,程序不能利用句柄来直接阅读文件中的信息。 6: 什么是消息?什么是事件驱动程序? 消息 : 在 Windows 中发生的一切都可以用消息来表示,消息用于告诉操作系统发生了什么,所有

4、的 Windows 应用程序都是消息驱动的。 事件驱动:简单地说就是你点什么按钮 (即产生什么事件 ),电脑执行什么操作(即调用什么函数 ).当然事件不仅限于用户的操作 . 事件驱动的核心自然是事件。 7: 代码规范是程序编写的重要准则,请用你的话说明一下什么是代码规范。 代码规范 :是一种编程时的命名规范 。基本原则是:变量名 =属性 +类型 +对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆、容易理解的原则。 需要大家自己理解。 8: 使用类向导生成的对话框工程中,自动生成三个类,请写出这三个类的名称,并说明其含义。 CAbout:关于对话

5、框管理类; C+工程名 +App:应用程序管理类; C+工程名 +Dlg:对话框管理类; 9: 写出鼠标左键按下与右键按下时截获的消息。 鼠标左键按下 1. WM_LBUTTONDOWN 左键按下消息 2. WM_LBUTTONUP 左键 抬起消息 鼠标右键按下 1. WM_RBUTTONDOWN 右键按下消息 2. WM_RBUTTONUP 右键抬起消息 10: 在图形与文字绘制时,需要捕获的消息是哪个?需要在此消息的什么位置(哪两个函数之间)加入绘制图形的代码? 绘制文字时,需要捕获 WM_PAINT 消息,需要在此消息下的 BeginPaint()函数与EndPaint()消息之间加入图

6、形、文字的绘制。 11: 在过程处理函数中,如何获得鼠标按下时光标的位置坐标,写出两种方法。 方法一: HIWORD( lParam)为鼠标的 Y 值 LOWORD( lParam)为鼠标的 X 值 方法二: GetCursorPos 函数,作用是获取光标的位置,以屏幕坐标表示。 12: 填写消息机制原理图中画横线部分的内容。 ( 1) ( 1 分) ( 2) ( 1 分) ( 3) ( 1 分) ( 4) ( 2 分) ( 1) CreateWindow() ( 2) UpdateWindow() ( 3) ShowWindow() ( 4) GetMessage() 13: 已知下面的相关

7、函数描述,完成绘制红色矩形框的程序。 创建画刷的函数是 HBRUSH CreateSolidBrush(COLOREF corlor); 选择绘图对象的函数是 HGDIOBJ SelectObject(HDC hdc,HGDIOBJ hObj); 画矩形的函数是 Rectangle(HDC hdc,int left,int top,int right,int bottom); 完成下面的代码片段。 HBRUSH _(空 1) _ =_(空 2) _ (RGB(255,0,0); HBRUSH hOldBrush = (_空 3_) _(空 4) _ (hdc,hBrush); Rectangl

8、e(hdc,50,50,400,400); _(空 5) _(hdc,hOldBrush); DeleteObject(hBrush); 空 1: hBrush 空 2: CreateSolidBrush 空 3: HBRUSH 空 4: SelectObject 空 5: SelectObject 14: 对话框有两种模式,分别是什么?它们之间的区别是什么? 对 话框窗口分为两种:模式对话框窗口与无模式对话框窗口。模式对话框窗口也称为模态对话框窗口,是指用户在 Win32 应用程序的对话框中,想要对对话框以外 的应用程序进行操作时,必须先对该对话框进行响应,如单击【确定】或【取消】按钮等操作

9、,将该对话框关闭。相对应的另一个对话框是无模式对话框,即可以在 不关闭当前的对话框窗口的情况下操作其他窗口。 15: 已知鼠标移动的消息是 WM_MOUSEMOVE,绘图消息的是 WM_PAINT,如果想实现鼠标移动的时候,在窗口中显示鼠标的光标位置,需要完成的代码如下,请填写空白区域。 注意:代码中省略号部分不要求填写,是省略的代码。( 5分) /全局变量 char szBuf512 /窗口过程处理函数; LRESULT CALLBACK WinProc(_空 1_, UINT message, WPARAM wParam, LPARAM _空 2_) int x,int y; HDC hd

10、c; switch(message) case WM_PAINT: hdc = break; case WM_MOUSEMOVE: x =LOWORD(_空 3_); y=HIWORD(_空 4_); sprintf(szBuf,”%d,%d”,x,y); InvalidateRect(_空 5_, lpRect, NULL ); break; 空 1 : HWND hWnd 空 2 : lParam 空 3 : lParam 空 4 : lParam 空 5 : hWnd 16: 描述句柄与指针的区别。 句柄,是整个 windows 编程的基础,一个句柄是指使用的一个唯一的整数值,是指一个四

11、字节长的数值,用于标志应用程序中不同的对象实例,如,一个窗口, 按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息。 句柄不是一个指针,程序不能利用句柄来直接阅读文件中的信息。 17: 本程序通过 HPEN 实现了图形绘制,如下图所示,其绘制步骤为: 1)创建画笔; 2)选入画笔; 3)绘图; 4)选出画笔; 5)删除画笔。 通过如上五个步骤实现图形的绘制功能,绘制的内容为红色平行线,如下图所示: 参数函数列表: 创建画刷: CreateSolidBrush(RGB(255,0,255); 选入、选出画刷: SelectObject 绘制直线: MoveTo

12、Ex(int x, int y)、 LineTo(int x, int y) 删除画刷: DeleteObject 注意:画笔选入选出时,要强制类型转换为 HPEN 类型。 画刷句柄: HBRUSH HPEN hPen= CreatePen( PS_SOLID,3,RGB(255,0,0); HPEN hOldPen = (HPEN)SelectObject(hdc,hPen); MoveToEx(hdc,100,50,NULL); LineTo(hdc,200,300); SelectObject(hdc,hOldPen); DeleteObject(hPen); 18: 消息循环就是程序的

13、发动机 ,分别写出 TranslateMessage 及DispatchMessage 的作用。 TranslateMessage():该函数将虚拟键消息转换为字符消息。字符消息被寄送到消息队列里,当下一次线程调用 GetMessage 或 PeekMessage 时被读出; DispatchMessage():该函数分发一个消息给窗口程序。通常消息从 GetMessage函数获得。消息被分发到回调函数(过程处理 函数)。 19: 用你的话描述一下什么是代码规则?并举出几个实例。 20: 用你的话描述一下消息与事件的关系。 所谓事件驱动 ,简单地说就是你点什么按钮 (即产生什么事件 ),电脑执

14、行什么操作 (即调用什么函数 ).当然事件不仅限于用户的操作 . 事件驱动的核心自然是事件。 消息:在 Windows 中发生的一切都可以用消息来表示,消息用于告诉操作系统发生了什么,所有的 Windows 应用程序都是消息驱动的。 消息与事件之间的关系: 事件触发消息,消息传递事件。 21: 窗口关闭的时候产生的消息有哪些?分别描述作用? 产生的消息有三个: WM_CLOSE WM_DESTROY WM_QUIT WM_CLOSE 用户试图关闭窗口的时候系统发送该消息。 WM_DESTROY 用户关闭窗口时候,系统发送 WM_CLOSE 消息之后,系统发送的关闭窗口的消息。 WM_QUIT

15、当应用程序调用 PostQuitMessage 函数时生成此消息,此消息产生后,会将 GetMessage 函数的返回值改变为 0. 22: 窗口创建的过程(文字描述即可)? 1.设计一个窗口风格; 2.注册窗口类; 3.创建窗口; 4.显示及更新窗口; 5.*进入消息循环(扩展)。 23: 本程序通过 HBRUSH 实现了图形绘制,如下图所示, 其绘制步骤为: 1) 创建画刷; 2) 选入画刷; 3) 绘图; 4) 选出画刷; 5) 删除画刷。 通过如上五个步骤实现图形的绘制功能,绘制的内容为一个长方形,一个圆形,长方形的颜色为绿色,圆的颜色为红色。 参数函数列表: 画刷句柄: HBRUSH

16、 创建画刷: CreateSolidBrush(RGB(255,0,255); 选入、选出画刷: SelectObject 绘制矩形: Rectangle(HDC hdc, int nLeftRect, int nTopRect, int nRightRect, int nBottomRect); 删除画刷: DeleteObject 注意画刷选入选出时,要强制类型转换为 HBRUSH 类型。 绘制矩形: HBRUSH hBrush =CreateSolidBrush(RGB(0,255,0); HBRUSH hOldBrush = (HBRUSH)SelectObject(hdc,hBrus

17、h); Rectangle(hdc,50,50,150,150); SelectObject(hdc,hOldBrush); DeleteObject(hBrush); 绘制圆形: HBRUSH hBrush =CreateSolidBrush(RGB(255,0,0); HBRUSH hOldBrush = (HBRUSH)SelectObject(hdc,hBrush); Ellipse(hdc,200,200,350,350); SelectObject(hdc,hOldBrush); DeleteObject(hBrush); 24: 编写画矩形函数,要求创建红色画刷, hdc 由函数

18、参数传递。矩形的起点为( 100,100),终点为( 200,200)。 绘制矩形: HBRUSH hBrush =CreateSolidBrush(RGB(255,0,0); HBRUSH hOldBrush = (HBRUSH)SelectObject(hdc,hBrush); Rectangle(hdc,100,100,200,200); SelectObject(hdc,hOldBrush); DeleteObject(hBrush); 25: 编 写画线函数,要求创建 PS_SOLID 型画笔,颜色为红色, hdc 由函数参数传递。线的起点为( 100,100),终点为( 200,2

19、00)。 HPEN hPen= CreatePen( PS_SOLID,3,RGB(255,0,0); HPEN hOldPen = (HPEN)SelectObject(hdc,hPen); MoveToEx(hdc,100,100,NULL); LineTo(hdc,200,200); SelectObject(hdc,hOldPen); DeleteObject(hPen); 26: 本 程序通过 HBRUSH 实现了图形绘制,如下图所示,其绘制步骤为: 1) 创建画刷; 2) 选入画刷; 3) 绘图; 4) 选出画刷; 5) 删除画刷。 通过如上五个步骤实现图形的绘制功能,绘制的内容为

20、一个正方形,正方形的颜色为蓝色,起点为坐标为 100, 100,宽与高为 150,根据如上要求在空白处 填写代码。 Void MyDrawLine(HDC hdc) HBRUSH hBrush = CreateSolidBrush(RGB(_1_); HBRUSH hOldBrush = (HBRUSH)SelectObject(_2_, _3_); Rectangle(hdc, _4_,_5_,_6_,_7_); SelectObject(_8_, _9_); DeleteObject(_10_); 0, 0, 255 hdc hBrush 100 100 250 250 hdc hOldB

21、rush hBrush 27: 计算机中显示的图形一般可以分为两大类 -矢量图和位图,请分别描述这两种图型的区别。 矢 量图使用直线和曲线来描述图形,这些图形的元素是一些点、线、矩形、多边形、圆和弧线等等,它们都是通过数学公式计算获得的。例如一幅花的矢量图形实际上 是由线段形成外框轮廓,由外框的颜色以及外框所封闭的颜色决定花显示出的颜色。由于矢量图形可通过公式计算获得,所以矢量图形文件体积一般较小。矢量图形 最大的优点是无论放大、缩小或旋转等不会失真。 最大的缺点是难以表现色彩层次丰富的图像效果。 位图,又称光栅图,一般用于照片品质的 图像处理,是由许多像小方块一样的像素组成的图形。由像素的位

22、置与颜色值表示,能表现出颜色阴影的变化。简单说,位图就是以无数的色彩点组成的图案,当无限放大时会看到一块一块的像素色块,效果会失真。 28: 请写入创建画刷时的五个步骤(文字说明即可)。 1) 2) 3) 4) 5) 1.创建画刷 2.选入画刷 3.绘图 4.选出画刷 5.删除画刷 29: 请写出如下代码的含义。 HBRUSH hBrush = CreateSolidBrush(RGB(255,0,0); HBRUSH hOldBrush = (HBRUSH)SelectObject(hdc,hBrush); Rectangle(hdc,50,50,400,400); SelectObject

23、(hdc,hOldBrush); DeleteObject(hBrush); 1.创建红色画刷 2.选入画刷 3.绘制 350*350 的矩形 4.选出画刷 5.删除画刷 30: 请简述三种系统刷新请求。 ( 1)窗口发生变化,窗口的尺寸发生变化、客户区域移动显示或程序通过滚动条滚动窗口等; ( 2)窗口覆盖,窗口被其他窗口覆盖、窗口切换焦点或有菜单操作等; ( 3)使用系统 API,使用系统屏幕刷新函数,如, InvalidateRect 和 InvalidateRgn 等。 31请解释一下 WM_KEYDOWN、 WM_KEYUP 以及 WM_CHAR 消息的作用,以及区别。 WM_KEY

24、DOWN 键盘按下消息 WM_KEYUP 键盘抬起消息 WM_CHAR 当 WM_KEYDOWN 被 TranslateMessage 函数翻译后产生该消息。 WM_KEYDOWN 与 WM_KEYUP 捕获的按键内容不区分大小写(全部为大写),而WM_CHAR 捕获的按键内容区分大小写。 32: 鼠标及 键盘的消息有哪些?至少写出 6 个。 鼠标的消息: WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONDBLCLK WM_RBUTTONDOWN WM_RBUTTONUP WM_RBUTTONDBLCLK WM_MBUTTONDOWN WM_MOUSEMOVE WM_MOUSEWHEEL WM_NCLBUTTONDOWN WM_NCLBUTTONUP 键盘消息: WM_KEYDOWN WM_KEYUP WM_CHAR 33: 鼠标的消息有哪些?写出 5个。 鼠标消息: WM_LBUTTONDOWN WM_LBUTTONUP

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。