




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一单选题1.在windows编程约定中,应用程序接口的英文缩写是( a )。a.apib.sdic.gdid.mdi2.在windows编程约定中,软件开发包的英文缩写是( c )。a.apib.sdic.sdkd.mdi3.在windows编程约定中,图像设备接口的英文缩写是( c )。a.apib.sdic.gdid.mdi4.以下对应于unsigned long 的数据类型为:( b )a.wordb.dwordc.intd.byte5.下列选项中,不属于匈牙利命名法属性部分的是( d )。a.g_ b.m_ c.c_ d.d_6.如果要严格按照匈牙利命名法命名1个全局窗口句柄,以下变量命名正确的是( a )。a.g_hwnd b.m_hwnd c.g_pwnd d.m_pwnd7.下列windows数据格式中,代表设备句柄的是( b )。a.hwndb.hdcc.hinstanced.hfont8.在一个窗口的正常运行的windows程序中,把主窗口创建语句做如下改动:hwnd = createwindow(null, sztitle, ws_overlappedwindow,cw_usedefault, 0, cw_usedefault, 0, null, null, hinstance, null);则下列说法正确的是( c )。b.程序仍然正常运行,与改动前相比没有变化c.程序出现编译错误d.程序编译通过,但没有窗口显示e.程序正常运行,窗口标题变为null9.典型的windows窗口程序的流程为:( a )a.注册窗口类-创建窗口-显示窗口-更新窗口-消息循环b.创建窗口-注册窗口类-显示窗口-更新窗口-消息循环c.创建窗口-注册窗口类-显示窗口-更新窗口-消息循环d.注册窗口类-创建窗口-更新窗口-显示窗口-消息循环10.菜单编辑器中,如果要设置某个项为分隔线,那么这个项的哪个属性为true。( d )a.visible b.grayed c.enabled.separator11.在windows消息机制中,菜单消息类型是:( b )a.wm_paint b.wm_command c.wm_create d.wm_close12.在windows编程中,代表键盘的键的虚拟键值是( a )。a.vk_up b.wm_keydown c.wm_keyup d.vk_down13.在windows编程中,响应键盘按键按下消息的windows消息是( b )。a.vk_upb.wm_keydown c.wm_keyup d.vk_down14.在windows编程中,按下键盘的a键后,返回的windows消息是( b )。a.vk_a b.wm_keydown c.a d.dik_a15.在windows编程中,按下鼠标左键产生的windows消息是( b )。a.wm_keydown b.wm_lbuttondown c.wm_left d.wm_rbuttondown16.在windows编程中,标准鼠标的按键数是( c )。a.1 b.2 c.3 d.417.windows编程中,定时器消息是( b )a.wm_timeb.wm_timerc.wm_on_timed.wm_command18.gdi环境中,窗口的坐标系是如何构成的?( d )a.左上角为原点,x轴正方向为水平向右,y轴正方向为竖直朝上b.中间为原点,x轴正方向为水平向右,y轴正方向为竖直朝上c.左下角为原点,x轴正方向为水平向右,y轴正方向为竖直朝下d.左上角为原点,x轴正方向为水平向右,y轴正方向为竖直向下19.以下选项中,gdi不能支持的是:( b )a.位图b.flash动画c.直线和曲线d.文字20.设备环境dc的全称为:( b )a.device contentb.device contextsc.device config d.device conter21.invalidaterect的作用是 ( b )a.删除一个矩形b.使一个矩行区域变为无效,从而可以重绘c.使一个矩形区域变为无效,从而释放部分gdi资源d.擦除一个矩形区域22.已知窗口为缺省状态,有如下代码:hdc hdc = getdc( hwnd );hpen hpen = createpen( 1, 1, rgb(255,0,0) );selectobject( hdc, hpen );ellipse( hdc, 050, 50, 200, 200 );则这段代码的执行效果是( b )。a.绘制1个黑色的椭圆形边框,无填充颜色b.绘制1个红色的椭圆形边框,无填充颜色c.绘制1个黑色的椭圆形,填充为黑色,无边框d.绘制1个红色的椭圆形,填充为红色,无边框23.已知有如下代码:hdc hdc = getdc(hwnd);lineto(hdc,100,100);则这段代码的执行效果是( a )。a.从窗口的左上角至坐标(100,100)绘制1条直线b.没有绘制任何图形c.从窗口的任意一点开始至坐标(100,100)绘制1条直线d.从鼠标在窗口的位置至坐标(100,100)绘制一条直线24.以下函数中不受画刷影响的函数是:( c )a.rectangleb.ellipse c.linetod.polygon25.如果要创建一个宋体字体,那么字体描述中哪个属性为“宋体”?( c )a.lfcharsetb.lfquality c.lffacenamed.lfstrikeout26.在windows编程约定中,位图句柄为( b )。a.hgdib.hbitmapc.hdcd.hpen27.下面哪个步骤能实现透明贴图(模板位图为单色的1位位图)?( a )a.位图和背景像素作异或操作-使用模板位图作与操作-原位图与背景作异或操作b.使用模板位图作与操作-原位图与背景作异或操作-位图和背景像素作异或操作c.位图和背景像素作异或操作-原位图与背景作异或操作-使用模板位图作与操作d.位图与背景作异或操作-位图和背景像素作异或操作-使用模板位图作与操作28.在bitblt函数中进行光栅化处理方式中,哪1个值说明是要进行或运算?( d )a.srcand b.srccopy c.srcinvert d.srcpaint29.动态链接库文件的后缀名为( b )。a.lib b.dll c.exe d.obj30.下列哪个缩写是微软提供的c+语言的帮助库?( b )a.mfcb.msdnc.apid.sdk31.生成1个只具有确定和取消按钮的消息框,其参数为( c )。a.mb_ok b.mb_yesno c.mb_okcancel d.mb_retrycancel32使用 getdc()获取的设备上下文在退出时必须调用(a )释放设备上下文。 a)releasedc() b)delete c) deletedc() d)detach()33项目文件的扩展名是(b)。 a)exe b)dsp c) dsw d)cpp34当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(c)消息。 a)wm_char b)wm_hscroll c) wm_vscroll d)wm_change35、消息循环的处理过程如下: ( a )函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回;一旦发现队列不为空,便取出一条消息,把它拷贝到msg结构变量中,同时该函数返回true;得到消息msg后,( b )把来自键盘的命令翻译成wm_xxx消息命令形式。 ( e ) 函数通知windows把每个消息分发给相应的窗口函数。应用程序并不直接调用窗口函数,而由windows根据消息去调用窗口函数,因此,窗口函数经常被称为回调函数。 a、getmessage( ) b、translatemessage( ) c、postmessage( ) d、sendmessage( ) e、dispatchmessage( )36在进行绘图时, (b ) 用于指定图形的填充样式, (a ) 用于指定图形的边框样式。 a、画笔 b、画刷 c、区域 d、位图 37、windows操作系统同时也是一个大的函数库,其中包含了数以千计的函数,这些函数都被封装在一个接口中,这个(b)就是windows应用程序编程接口( windows application progrmming interface),简称windows api。a 类b 接口c 动态链接库d 结构体38、用户从所有可能的操作中任意选择,被选择的操作会产生某些特定的 (c) ,这些事件发生后的结果是向程序中的某些对象发出(c),然后这些对象调用相应的(c)来完成特定的操作。a:消息,事件,程序b:消息,命令,消息处理函数c:事件,消息,消息处理函数d:事件,消息,程序39、消息的组成(c)a:消息名称(uint)b:消息名称(uint)和参数(param)c:消息名称(uint)和两个参数(wparam,lparam)d:消息名称(uint)和两个参数(hparam,lparam)40、程序在(b) 对消息进行分析a:入口函数(winmain)中b:在窗口的过程(wndproc)中c:收到消息时d:消息发生时41、一个消息(b)a:可以不被窗口接受b:必须由一个窗口接收c:可以由一个或多个窗口接收d:必须由多个窗口接收42、当没有为某消息编写消息处理时(c)a:不进行处理b:程序出错c:默认的窗口过程进行处理d:无法发出此消息43、系统通过(d)在整个系统中唯一标识一个窗口a:文件句柄b:设备句柄c:内存句柄d:窗口句柄44、系统是根据()来确定要接收消息的窗口的(a)a:hwndb: messagec:wparamd:lparam45、当同时有多个消息时,系统将(c)a:内存b:硬盘c:将消息放入消息队列中d:优盘46、在winmain函数的原型中hinstance hinstance 定义的是a:当前实例句柄 b:当前实例句柄c:指向命令行参数的指针d:窗口的显示状态47、在winmain函数的原型中hinstance hprevinstance定义的是a:当前实例句柄 b:当前实例句柄c:指向命令行参数的指针d:窗口的显示状态48、在winmain函数的原型中lpstr lpcmdline定义的是a:当前实例句柄 b:当前实例句柄c:指向命令行参数的指针d:窗口的显示状态49、在winmain函数的原型中int ncmdshow)定义的是a:当前实例句柄 b:当前实例句柄c:指向命令行参数的指针d:窗口的显示状态50、以下哪个不是winmain函数中完成下面的操作:a:注册窗口类b:创建应用程序主窗口c:进入应用程序消息循环d:51、下面说法错误的是(d):a 一个windows程序可以包含多个窗口过程b 一个窗口过程总是与调用registerclass注册的特定窗口类相关联c createwindow函数根据特定窗口类创建一个窗口,但基于一个窗口类,可以创建多个窗口d 窗口过程必须由程序调用,而不是由windows本身直接调用52、windows应用程序中使用的各种windows api函数声明,宏定义,数据类型定义,()是主要的包含文件,它包含了其他windows的头文件,这些头文件的某些也包含了其他头文件。a stdio.hb windef.hc winuser.hd windows.h 53、()定义了windows 的所有数据类型、函数调用、数据结构和常数标识符,它是windows文档中的一个重要部分a windows的头文件b windows.h c windef.h d windows文档54、关于程序中主函数的下列说法中正确的是(a)a 在windows应用程序中,是以winmain() 函数作为程序的入口b 每个windows应用程序都有一个或多个winmain() 函数c dos c程序是可以不从main() 函数开始运行d 以上说法没有正确的55、winmain函数采用winapi调用协议。winapi是一个在(c)中定义的宏,相当于pascal调用协议。a windef.h b winnt.h c windows.h d winbase.h56、下面关于winmain()函数的参数的说明错误的是(b)a hinstance 当前实例句柄b hprevinstance: 后一个实例的实例句柄c lpcmdline 命令行参数 dncmdshow: 窗体显示方式57、winmain函数正常结束时,返回窗体运行期间所接受的最后一个消息的(a),非正常结束返回0a 短形参量b 长形参量c 句柄d 标识号58、(1)注册窗体类函数声明如下:atom registerclassex(const wndclassex *lpwcx) 如果成功返回(a)值,否则返回0。a 非0值 b 1 c 2 d null59、lpwcx 是一个指向(c)的指针变量。a 当前实例句柄 b窗体显示方式 c 窗体类结构类型 d前一个实例的实例句柄60、窗体风格各个选项可以用(b)运算符联合表示。a and(&) b or(|)c 逻辑与(&)d 逻辑或(|)61、下面关于wndclass的参数的说法中错误的是(c):a lpfnwndproc是所有基于这个类来创建的窗口过程的地址b lpszclassname是窗口类的文本名c hbrbackground的类型是hcursord hinstance是程序实例句柄62、建立窗体函数如果成功返回新窗体句柄,否则返回(d)a 非0值 b 1 c 2 d null63、当创建一个“最高级”窗口,与应用程序窗口时,函数createwindow()的第八个参数,即注释为“父窗口句柄”的参数应设置为(b):a 桌面窗口的句炳b nullc 0d 164、在函数createwindow()调用返回后,下面说法错误的是(a):a如果成功返回新窗体句柄,否则返回null。b如果成功返回新窗体句柄,否则返回0。c如果成功返回非0值,否则返回null。d如果成功返回非0值,否则返回0。65、在函数createwindow()调用返回之后,window内部(b):a 已经创建了这个窗口,但还未分配内存b 已经创建并分配了内存c 还未真正创建窗口,等待分配内存d还未真正创建窗口,但已经分配内存66、关于函数showwindow(hwnd,icmdshow),下面说法错误的是(d):a hwnd是窗体句柄b ncmdshow是窗体显示方式c ncmdshow与winmain函数定义的窗体显示方式相同d ncmdshow与winmain函数定义的窗体显示方式必须不同67、关于函数updatewindow()的说法正确的是(d):a 该函数的作用是将窗口从新绘制b 调用该函数后,该函数发出wm_paint消息c 该函数将消息发送给窗口函数进行处理d 以上答案都正确68、下面关于消息循环的说法错误的是(d):a windows为当前运行的每个windows程序维护一个“消息队列”b 程序通过执行一块被称为“消息循环”的代码从消息队列中取出消息c 消息循环从getmessage调用开始,它从消息队列中取出一个消息d getmessage通常将一个指向msg的msg结构的指针直接传递给窗口函数wndproc69、getmessage对于除了wm_quit之外的从消息队列中取出的所有消息都返回(a)a 非0值 b 0c 1d null70、在(d)之后,winmain退出消息循环a 用户通过单击close按钮或在系统菜单选择close发出wm_destroy消息b 结束对任何消息的dispatchmessage调用c 通过调用函数postquitmessage(0)在程序的消息队列中插入一个wm_quit消息d 在getmessage取到一个wm_quit消息,程序继续执行return msg.wparam71、下面说法错误的是(b):a 窗口过程接受的每一个消息都是用一个数值来表示的b 窗口过程在处理消息时,必须返回1c 窗口过程不予处理的所有消息应该被传给名为defwindowproc的windows函数。d 从defwindowproc函数返回的值必须由窗口过程返回72、下面那一步确定了在窗口中的客户区域中显示什么,以及在窗口中怎样响应用户输入(d):a 注册窗口类b 创建窗口c 显示窗口d 窗口过程73、关于窗口过程的说法正确的是(a)a 一个窗口过程能处理基于同一个窗口类创建的多个窗口的消息b 一个窗口过程只能处理基于同一个窗口类创建的一个窗口的消息c一个窗口过程能处理基于多个窗口类创建的多个窗口的消息d一个窗口过程只能处理基于多个窗口类创建的一个窗口的消息74、消息的4个参数中,表示消息类型的参数是()。a hwnd hwnd b messageidc wparam d lparam 75、下列各消息中,与程序的菜单命令、工具栏按钮或对话框按钮相对应的消息是()。awm_char bwm_commandcwm_create dwm_paint76、windows程序中,用于表示通用字符的数据类型是()。a char bunsigned short ctchardunsigned char 77、下列数据类型中,表示设备上下文句柄的数据类型是()。 ahwnd bhdc chmenu dhpen78、各种设备描述表的中,可以使用createcompatibledc函数创建获得的设备描述表类型是()。a显示设备描述表b打印设备描述表c内存设备描述表d信息设备描述表79、dc中,可用于绘制圆角矩形的函数是()。alineto(hdc,int x,int y) bpolybezierto(hdc,const point* lppoints, int ncount ); cbitblt(hdc,int x, int y, int nwidth, int nheight, cdc* psrcdc, int xsrc, int ysrc, dword dwrop ); dbool roundrect(hdc,lpcrect lprect, point point ); 80、下列映射模式中,以0.01mm为逻辑单位的映射模式为()。amm_lometric bmm_himetric cmm_loenglish dmm_hienglish二. 多选题1.已知严格按照匈牙利命名法命名的变量m_ptemp,则以下说法正确的是( bc )。a)该变量是1个全局变量b)该变量是1个类成员变量c)该变量是1个指针变量d)该变量一定是1个私有变量2下列哪种情况下系统可能向窗口发送wm_paint消息?( abcd )a)窗口最初创建时b)窗口移动后部分区域由不可见变为可见c)窗口大小改变后d)滚动条滚动后3在注册窗口类中,不需要进行的操作是( bc )。a)载入图标b)确定窗口大小c)确定窗口标题d)确定窗口类名称4.关于peekmessage和getmessage的说法正确的是( ab )a)peekmessage立即返回b)getmessage将会等待消息到来c)peekmessage等待消息到来d)getmessage立即返回5.关于动态菜单,以下说法正确的是( bd )。a)函数loadmenu可以弹出菜单b)函数creatmenu用于建立空菜单c)函数deletemenu用于删除整个菜单d)函数insertmenu用于在菜单中插入1个菜单项6.以下关于windows的鼠标消息,说法正确的是( bd )。a)鼠标的按键消息种类可以从wparam中得到b)鼠标的按键消息种类可以从message中得到c)鼠标的位置信息可以从wparam中得到d)鼠标的位置信息可以从lparam中得到7.已知语句settimer(null,1,100,null),则以下说法正确的是( ad )。a)设置了一个定时器,该定时器不能正常起作用 b)设置一个定时器,能够正常起作用 c)设置了一个定时器,时间间隔为1秒 d)设置了一个定时器,时间间隔为100毫秒8.下列选项中属于windows gdi资源的是( abc )。a)位图b)画笔c)字体d)窗口9.能用于绘制直线的函数为:( ab )a)linetob)polylinec)arcd)polybezier10.画笔的线型包括:( abd )a)实线b)点划线c)波浪线d)虚线11.创建画刷的函数有:( abc )a)createhatchbrushb)createsolidbrushc)createpatternbrushd)createlogicbrush12.在windows消息机制中,消息系统3大关键要素是( abc )。a)消息队列b)消息循环c)消息处理函数d)消息映射13下列哪种情况下系统可能向窗口发送wm_paint消息?( bcd )a)窗口最初创建时b)窗口移动后部分区域由不可见变为可见c)窗口大小改变后d)滚动条滚动后14匈牙利表示法的变量一般分为哪几个部分?(abc)a)属性(例如g_) b)类型c)描述d)后缀15下列选项中,可以用windows句柄标识的有( abd )。a)窗口b)文件c)消息d)字体16关于windows句柄,下列说法正确的是( ad )。a)每个运行着的windows程序都有对应的windows实例句柄b)同1个windows程序打开多次时,对应同1个实例句柄c)1个windows实例句柄只能对应1个窗口句柄d)1个windows实例句柄可以对应多个窗口句柄三. 判断题1.所谓的windows api就是独立于c语言的一套全新的程序设计语言。( )2.在windows编程约定中,char数据类型和tchar数据类型是相同的。( )3.匈牙利命名法是所有程序都必须遵循的一个规则,变量的命名必须按照规则进行。( )4.在windows编程约定中,代表窗口句柄的数据类型是hwnd。( )5.在windows编程中,使用窗口句柄来操作具体的窗口。( )6.在windows的消息结构中,键盘的按键字符信息被保存在lparam中。( )7.在windows消息机制中,wm_timer消息表示创建了1个定时器。( )8.所有的windows程序,其入口函数必须名为winmain。( )9.postmessage和sendmessage的区别在于前者投递消息到队列,而后者直接调用消息响应函数。( )10.在windows编程中,appendmenu可以在菜单的任意位置插入新的菜单项。( )11.在windows编程中,菜单可以在资源视图中设计,一旦载入程序,就不能再被更改。( )12.在windows编程中,键盘按键弹起时,会返回消息wm_keydown。( )13.在windows编程中,鼠标消息中不包含任何键盘信息。( )14.在windows编程中,1个程序中只允许设置一个定时器。( )15.画笔颜色构成是0x00bbggrr,其中b、g、r分别代表1位16进制数表示蓝、绿和红色分量的大小。( )16.对于gdi点阵字体和gdi笔划字体,windows都可以合成粗体、斜体、加底线和加删除线,而不需要为每种属性另外储存字体。( )17.fillrect中指定的画刷是用于画矩形本身和边框,framerect中指定的画刷是用于画矩形的边框。( )18.win32 api可以直接读取所有的图像格式。( )四、简答题 1winmain()函数的工作。 winmain()函数是windows程序的入口点 在winmain中进行注册窗体类、建立窗体、显示窗体、更新窗体、建立消息循环 2非mfc的windows程序中,在wm_paint消息中怎样获得客户区的设备环境句柄。和不是wm_paint消息中怎样获得客户区的设备环境句柄。 beginpaint -endpaint getdc-releasedc(成对出现) 利用getdc函数获取设备环境句柄 3句柄的含义。 句柄是一个通常为32位的无符号整数(unsigned int),它代表一个内核对象,是内核对象在应用层的表示。4在mm_text映射模式下,什么情况下客户坐标和逻辑坐标可能不同。 当窗口客户区有滚动条时客户坐标和逻辑坐标可能不同 5事件驱动、消息驱动的概念。 事件驱动程序设计是一种全新的程序设计方法,它不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的、并没有预定的顺序。这样就允许程序的的用户用各种合理的顺序来安排程序的流程。消息是事件到达windows内部后的称呼6getmessage()函数在什么情况下返回0从而导致消息循环终止程序结束。 在接收到wm_quit消息时返回0 7windows中应用程序的输出是怎样进行的。 通过设备描述表dc(device context)来进行应用程序与物理设备之间的交互8当程序中某个函数改变了数据而需要重新绘制客户区时wm_paint不会被自动调用,这时需要怎样间接调用它。 使用invalidaterect()调用9键盘消息处理函数onkeydown(uint nchar,uint nrepcnt,uint nflags)中的主要参数。 参数uint nchar指按下按键的虚拟键码;nrepcnt 按键按下的次数; nflags有没有其他键同时被按下;如shift、ctrl、alt10dc中的setrop2()的作用。 设定绘图模式 11扩展名为.rc的文件是什么。 资源文件12gdi绘图函数所使用的参数。 gdi绘图函数使用的逻辑坐标13当用户按下某个字母键时消息发生的顺序。 wm_keydown-translatemessage()-wm_char14主控函数winmain()建立消息循环的代码。 whilegetmessage(&msg,null,0,0) translatemessage(&msg); dispathmessage(&msg); 15.创建窗口的五个步骤:1)定义窗口 2)注册窗口 3)创建窗口 4)显示窗口 5)消息循环16什么是windows sdk程序 答使用软件开发工具包开发出来的windows应用程序叫做windows sdk程序。17 如何显示和更新窗口 答调用函数showwindow显示窗口调用函数updatewindows更新窗口。 18什么是消息循环 答在创建了窗口的应用程序中应用程序将不断地从消息队列中获取消息并将消息指派给指定的窗口处理函数来处理然后再回来从消息队列获取消息这个不断重复的工作过程叫做消息循环。 19说明windows应用程序的主函数、窗口函数与windows系统之间的关系。 答windows应用程序的主函数和窗口函数都是系统调用的函数主函数是在应用程序启动时由系统首先调用的函数而窗口函数是主函数在消息循环中获得消息并把消息派送给系统之后由系统调用的用来处理消息的函数。20 常用的客户区鼠标消息有哪些 答wm_lbuttondbclk 双击鼠标左键 wm_lbuttondown 按下鼠标左键 wm_lbuttonup 释放鼠标左键 wm_mousemove 移动鼠标 wm_rbuttondbclk 双击鼠标右键 wm_rbuttondown 按下鼠标右键 wm_rbuttonup 释放鼠标右键21 什么样的窗口才能接收键盘消息 答在windows中有时会同时打开多个窗口。在这些窗口中只有一个是活动窗口这个窗口一般是屏幕上位置最靠前的窗口它的特征是其标题栏被点亮的而不是灰色的。只有活动窗口才具有输入焦点而windows中规定只有具有输入焦点的窗口才能接收键盘消息也就是说只有活动窗口才能接收键盘消息。 22 为什么在windows应用程序中不直接使用键盘的扫描码而使用与键盘无关的虚拟码怎样理解windows中设备无关性这个概念设备无关性对编写应用程序有什么作用 答键盘的扫描码是当用户直接敲击键盘上的按键时由键盘的接口直接产生的与该键对应的一种编码。由于市面上的键盘种类很多所以不同类型的键盘产生的扫描码有可能是不同的也就是说这种扫描码是与具体的键盘相关的。这样在编写程序时会有很大的不便。所以在windows编程中提出了设备无关性这个概念它是基于通用性来设计的基于这种方法设计出来的程序是不依赖于具体的硬件的甚至不依赖于软件。它不单单是针对键盘。另外它还应用在网络通信等方面。因此设备无关性为人们编写程序带来了很大的方便。 23键盘消息分为哪几类哪些键只产生按键消息不产生字符消息 答键盘消息可以分成按键消息和字符消息两类。按键消息分为系统按键消息(wm_keydown,wm_keyup)和非系统按键消息wm_syskeydown,wm_syskeyup。字符消息也同样分为系统字符消息wm_char,wm_deadchar和非系统字符消息wm_syschar,wm_sysdeadchar。值得注意的是系统按键消息只能产生系统字符消息非系统按键消息只能产生非系统的字符消息。在windows中一些键是只产生按键消息而不产生字符消息的这些键包括shift键、ctrl键、功能键、光标移动键、特殊字符键。 24在程序中如何确定窗口何时具有输入焦点何时失去输入焦点。答当应用程序的窗口获得输入焦点时会发出wm_setfocus消息而当窗口失去输入焦点时会发出wm_killfocus消息。如果一个窗口获得了输入焦点便可以用键盘对这个窗口进行操作。25windows应用程序的主函数有哪三个主要任务 答注册窗口类、创建应用程序的窗口和建立消息循环。 26、常见句柄的名称hwnd窗口句柄hinstance当前程序应用实例句柄hcursor光标句柄hfont字体句柄hpen画笔句柄hbrush画刷句柄hdc图形设备环境句柄hbitmap位图句柄hicon图标句柄hmenu菜单句柄hfile文件句柄 五、名词解释 1、事件:可能触发计算机程序做出相应反应的刺激 2、句柄:为了区别于普通变量的标识,windows把这种复杂对象的标识叫做句柄 3、消息:为了描述事件的各种信息(例如,何时何地发生了何种事件等),windows定义了一个结构,这个结构就叫做”消息” 4、windows的api函数:由操作系统提供的,用户可以使用的函数就叫做api 5、windows sdk程序:使用软件开发工具包开发出来的windows应用程序 6、资源:资源就是一种可供windows应用程序利用,可单独编辑,并可动态加载的数据 7、图象设备接口(gdi):windows把用于改变dc属性的操作,即与绘图相关的操作都制作成函数,这些函数的集合就叫做图形设备接口8、回调函数:系统调用用户编写的函数过程叫做“回调”,所以这种被系统调用的函数也叫做“回调函数” 9、无效显示区:在有效提高拆分窗口显示更新效率的方法中,程序只重绘必须重绘的区域自测一、基本概念1windows程序设计中主函数是怎样声明的?2. 建立窗体函数用于建立几种类型的窗体?3. windows消息结构类型是怎样定义的?4. 获取消息函数是怎样声明的?5. 翻译消息函数是怎样声明的?二windows应用程序主函数的功能如何?详细说明三结构类型与windows api函数1.在 wndclassex 结构类型中,各个成员所代表的含义是什么? wndclassex 结构类型定义如下: typedef struct _wndclassex uint cbsize; uint style; wndproc lpfnwndproc; int cbclsextra; int cbwndextra; hinstance hinstance; hicon hicon; hcursor hcursor; hbrush hbrbackground; lpctstr lpszmenuname; lpctstr lpszclassname; hicon hiconsm; wndclassex2.在 createwindowex()函数中,各成员所代表的含义是什么? createwindowex()函数定义如下: hwnd createwindowex(dword dwexstyle, lpctstr lpclassname, lpctstr lpwindowname, dword dwstyle, int x, int y, int nwidth, int nheight, hwnd hwndparent, hmenu hmenu, hinstance hinstance, lpvoid lpparam);3.updatewindow()函数的功能什么? updatewindow()函数定义如下: bool updatewindow(hwnd hwnd);4.在 msg 结构类型中,第一个成员所代表的含义是什么? msg 结构类型定义如下: typedef struct tagmsg hwnd hwnd; uint message; wparam wparam; lparam lparam; dword time; point pt; msg, *pmsg; 5.defwindowproc()函数的功能什么? defwindowproc()函数定义如下: lresult defwindowproc(hwnd hwnd, uint msg, wparam wparam, lparam lparam);六程序填空 1 int winapi winmain(hinstance,hinstance,lpstr,int);lresult callback wndproc(hwnd,uint,wparam,lparam);int winapi winmain(hinstance hinstance, hinstance hprevinstance, lpstr lpcmdline, int ncmdshow) wndclassex 2 ; wcex.cbsize = sizeof(wndclassex); wcex.style = cs_hredraw|cs_vredraw|cs_dblclks; wcex.lpfnwndproc= 3 ; wcex.cbclsextra = 0; wcex.cbwndextra = 0; wcex.hinstance= hinstance; wcex.hicon = 4 (hinstance,(lpctstr)idi_application); wcex.hcursor = 5 (null,idc_arrow); wcex.hbrbackground= (hbrush)color_inactivecaption; wcex.lpszmenuname= null; wcex.lpszclassname= 6 ; wcex.hiconsm = loadicon(hinstance,(lpctstr)idi_application); if(! 7 (&wcex) return false; int sw_xfs = 8 (sm_cxscreen); int sw_yfs = getsystemmetrics(sm_cyscreen); hwnd hwnd; 9 = createwindowex(ws_ex_clientedge, wndcls, drawing text of windows program
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮公司员工健康管理方案
- 2021年中考美术考点复习指南
- 2025年儿科第二季度院感培训考试题含答案
- 临床医学试题集2册及答案2025年版
- 桥梁工程施工工序及主要施工方案
- 餐饮供应链食品追溯系统方案
- 2025年保育员考试题库及参考答案
- 2025年免疫规划工作试题及答案
- 2025年版急救试题及答案
- 三年级语文单元测试卷样本
- QC/T 262-2025汽车渗碳齿轮金相检验
- 【NIFD】2025H1人民币汇率分析报告-“对等关税”加剧汇市震荡 美元指数步入贬值周
- 学习科学家家风+传承科学家精神(科技创新教育主题班会)-2025-2026学年高中主题班会
- 军事安全知识培训课件
- 2025年七年级语文上册常考必背重点知识梳理总结
- 2025年少先队基础知识试题库及参考答案
- 2025年中国商务礼品数据监测研究报告
- 2026届四川省广安市邻水县重点名校中考语文全真模拟试题含解析
- 股份赠予员工协议书模板
- 合成氨设备管理培训课件
- 职业性一氧化碳中毒课件
评论
0/150
提交评论