windows简答题

上传人:第*** 文档编号:32819416 上传时间:2018-02-12 格式:DOCX 页数:17 大小:256.92KB
返回 下载 相关 举报
windows简答题_第1页
第1页 / 共17页
windows简答题_第2页
第2页 / 共17页
windows简答题_第3页
第3页 / 共17页
windows简答题_第4页
第4页 / 共17页
windows简答题_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《windows简答题》由会员分享,可在线阅读,更多相关《windows简答题(17页珍藏版)》请在金锄头文库上搜索。

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 定时器消息;SetTimer() 设置定时器;K

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

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

5、键按下时截获的消息。鼠标左键按下1. WM_LBUTTONDOWN 左键按下消息2. WM_LBUTTONUP 左键抬起消息鼠标右键按下1. WM_RBUTTONDOWN 右键按下消息2. WM_RBUTTONUP 右键抬起消息10:在图形与文字绘制时,需要捕获的消息是哪个?需要在此消息的什么位置(哪两个函数之间)加入绘制图形的代码?绘制文字时,需要捕获 WM_PAINT消息,需要在此消息下的 BeginPaint()函数与 EndPaint()消息之间加入图形、文字的绘制。11:在过程处理函数中,如何获得鼠标按下时光标的位置坐标,写出两种方法。方法一:HIWORD(lParam)为鼠标的 Y

6、值LOWORD(lParam)为鼠标的 X值方法二:GetCursorPos 函数,作用是获取光标的位置,以屏幕坐标表示。12:填写消息机制原理图中画横线部分的内容。(1) (1 分)(2) (1 分)(3) (1 分)(4) (2 分)(1)CreateWindow()(2)UpdateWindow()(3)ShowWindow()(4)GetMessage()13:已知下面的相关函数描述,完成绘制红色矩形框的程序。创建画刷的函数是 HBRUSH CreateSolidBrush(COLOREF corlor);选择绘图对象的函数是 HGDIOBJ SelectObject(HDC hdc,

7、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);Rectangle(hdc,50,50,400,400);_(空 5)_(hdc,hOldBrush);DeleteObject(hBrush);空 1:hBrush空 2:CreateSolidBrush空 3:HBRUSH空 4:SelectOb

8、ject空 5:SelectObject14:对话框有两种模式,分别是什么?它们之间的区别是什么?对 话框窗口分为两种:模式对话框窗口与无模式对话框窗口。模式对话框窗口也称为模态对话框窗口,是指用户在 Win32应用程序的对话框中,想要对对话框以外 的应用程序进行操作时,必须先对该对话框进行响应,如单击【确定】或【取消】按钮等操作,将该对话框关闭。相对应的另一个对话框是无模式对话框,即可以在 不关闭当前的对话框窗口的情况下操作其他窗口。15:已知鼠标移动的消息是 WM_MOUSEMOVE,绘图消息的是 WM_PAINT,如果想实现鼠标移动的时候,在窗口中显示鼠标的光标位置,需要完成的代码如下,

9、请填写空白区域。注意:代码中省略号部分不要求填写,是省略的代码。(5 分)/全局变量char szBuf512/窗口过程处理函数;LRESULT CALLBACK WinProc(_空 1_, UINT message, WPARAM wParam, LPARAM _空 2_)int x,int y;HDC hdc;switch(message)case WM_PAINT:hdc = break;case WM_MOUSEMOVE:x =LOWORD(_空 3_);y=HIWORD(_空 4_);sprintf(szBuf,”%d,%d”,x,y);InvalidateRect(_空 5_,

10、lpRect, NULL );break;空 1 :HWND hWnd空 2 :lParam空 3 :lParam空 4 :lParam空 5 :hWnd16:描述句柄与指针的区别。句柄,是整个 windows编程的基础,一个句柄是指使用的一个唯一的整数值,是指一个四字节长的数值,用于标志应用程序中不同的对象实例,如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息。 句柄不是一个指针,程序不能利用句柄来直接阅读文件中的信息。17:本程序通过 HPEN 实现了图形绘制,如下图所示,其绘制步骤为:1)创建画笔;2)选入画笔;3)绘图;4)选出画笔;

11、5)删除画笔。通过如上五个步骤实现图形的绘制功能,绘制的内容为红色平行线,如下图所示:参数函数列表:创建画刷:CreateSolidBrush(RGB(255,0,255);选入、选出画刷:SelectObject绘制直线:MoveToEx(int x, int y)、LineTo(int x, int y)删除画刷:DeleteObject注意:画笔选入选出时,要强制类型转换为 HPEN 类型。画刷句柄:HBRUSHHPEN hPen= CreatePen( PS_SOLID,3,RGB(255,0,0); HPEN hOldPen = (HPEN)SelectObject(hdc,hPen

12、); MoveToEx(hdc,100,50,NULL); LineTo(hdc,200,300); SelectObject(hdc,hOldPen); DeleteObject(hPen); 18:消息循环就是程序的发动机,分别写出 TranslateMessage及DispatchMessage的作用。TranslateMessage():该函数将虚拟键消息转换为字符消息。字符消息被寄送到消息队列里,当下一次线程调用 GetMessage或 PeekMessage时被读出; DispatchMessage():该函数分发一个消息给窗口程序。通常消息从GetMessage函数获得。消息被分

13、发到回调函数(过程处理函数)。 19:用你的话描述一下什么是代码规则?并举出几个实例。20:用你的话描述一下消息与事件的关系。所谓事件驱动,简单地说就是你点什么按钮(即产生什么事件),电脑执行什么操作(即调用什么函数).当然事件不仅限于用户的操作. 事件驱动的核心自然是事件。 消息:在 Windows中发生的一切都可以用消息来表示,消息用于告诉操作系统发生了什么,所有的 Windows应用程序都是消息驱动的。 消息与事件之间的关系: 事件触发消息,消息传递事件。 21:窗口关闭的时候产生的消息有哪些?分别描述作用?产生的消息有三个:WM_CLOSE WM_DESTROY WM_QUIT WM_

14、CLOSE 用户试图关闭窗口的时候系统发送该消息。WM_DESTROY 用户关闭窗口时候,系统发送 WM_CLOSE消息之后,系统发送的关闭窗口的消息。WM_QUIT 当应用程序调用 PostQuitMessage函数时生成此消息,此消息产生后,会将 GetMessage函数的返回值改变为 0. 22:窗口创建的过程(文字描述即可)?1.设计一个窗口风格; 2.注册窗口类; 3.创建窗口; 4.显示及更新窗口; 5.*进入消息循环(扩展)。23:本程序通过 HBRUSH实现了图形绘制,如下图所示, 其绘制步骤为: 1) 创建画刷; 2) 选入画刷; 3) 绘图; 4) 选出画刷; 5) 删除画

15、刷。 通过如上五个步骤实现图形的绘制功能,绘制的内容为一个长方形,一个圆形,长方形的颜色为绿色,圆的颜色为红色。 参数函数列表: 画刷句柄:HBRUSH 创建画刷: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,hBrush); Rectangle(hdc,50,50,150,150); SelectObject(hdc,hOldBrush); DeleteObject(hBrush); 绘制圆形:HBRUSH hBrush =CreateS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号